我有一个固定大小为10的数组。 数组用随机数填充。 我想要的是打印大小为10的数组,并过滤掉所有的重复项。
我使用了array_unique,但它只是移除重复值,而不是用新的随机数替换重复值。 所以,有时大小是9个数字,而其他时候大小是7个数字。 我希望数组总是10个数字长,没有重复值。 我已经尝试了几个函数(in_array,isset,array_replace,array_merge,array_search),但我不知道如何实现我想要的功能。 我在我的代码可以检测到有重复的部分,但是我不知道如何用新的随机数来替换这些重复,这些随机数也是唯一的。 下面是我写的代码:
$numbers = Array (rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100));
If (count($numbers) > count(array_unique($numbers)))
{
Foreach ($numbers As $number)
{
$inArray = array_search($number, $numbers);
If ($inArray === FALSE)
{
echo "No duplicate(s) found" ;
}
Else
{
echo "Duplicate(s) found" ;
}
}
}
Else
{
}
也许像这样?
<?php
$numbers = [rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100), rand(10,100)];
foreach ($numbers as $key => $number)
{
if (in_array($number,$numbers))
{
$numbers[$key] = rand(10,100);
}
}
print_r($numbers);
?>
一个简单的(但不是最优的)解决方案是在数组长度不是10的情况下不断向其添加值,并始终移除重复值,这将确保数组有10个不同的随机元素。
$array = [];
while (count($array) < 10){
$array[] = rand(10, 100);
$array = array_unique($array);
}
print_r($array);
我有一个结构与一些固定大小的数组: 我从一个文件中读取字节到一个固定大小的数组中,并将这些字节逐位复制到结构中。 最后一行()不起作用,因为在结构中它是一个,而是一个切片。我是否可以返回将一个片转换为一个固定大小的数组,就像在一个范围内那样,而不是像我所做的那样说?
问题内容: 我正在尝试将固定大小的数组转换为可变大小的数组(切片): 但是编译器抛出错误: 我应该如何转换? 问题答案: 使用让您在阵列上切片。另请参阅此博客文章,以获取有关数组和切片的更多信息。
我试图研究它,但没有找到答案。我正在创建一个数据类,在该类中,我想创建一个固定大小的数组。我尝试了以下3个选项: 但是都不行。然而,这确实有效: 如何在数据类中初始化固定大小的字符串数组
问题内容: 在Swift中,我试图创建一个由64个SKSpriteNode组成的数组。我想先将其初始化为空,然后将Sprites放在前16个单元格中,然后将最后16个单元格中(模拟象棋游戏)。 根据我在文档中了解的内容,我期望会出现以下情况: 要么 但这是行不通的。在第二种情况下,我收到一条错误消息:“尚不支持定长数组”。那可以是真的吗?对我来说,这听起来像是一项基本功能。我需要通过它们的索引直接
相关:切片到固定大小的数组,但是我正在寻找更具体的形式。 理想情况下,我希望构建一个具有以下签名的函数: 因为这还不可能(因为非类型参数不是一件事),所以我不想让函数直接接受数组: 用代替。 以下是我迄今为止最有希望的尝试: 然而,我错过了允许数组强制切片的特性(提示:这不是)。 只要我同意函数只适用于小数组,有没有办法使用安全代码构建这样的函数?
问题内容: 我在这里阅读了一些帖子,然后开始了为什么有些人这样做 代替 第二个不是更好,因为它仅创建一个对象,而第一个可能创建多个对象(即使它并没有浪费多少内存)?还是我错了?有什么区别吗? 问题答案: 最大的区别在于值随时间变化的方式,因此您选择的值应取决于您要对代码执行的操作。 如果您只是简单地调用代码,它将按照您的预期进行- 将首选尺寸设置为500x500。但是,应用程序中的其他代码可能会用
免责声明:我知道这个问题可以通过数组的单次传递非常有效地解决,但我对用分而治之法做这个很感兴趣,因为它与我们用分而治之法处理的典型问题有点不同。 假设给定一个浮点数组x[1:n],大小为n,间隔长度为l。问题是设计一个分治算法,从具有最大和的数组中找到长度为l的子数组。 现在,为了将问题分成两半,我决定在n-l+1/2处中断数组,以便将相等数量的子数组分配到我的除法的两半,如下面的算法所示。同样,
问题内容: 我想知道如何初始化一个数组(或列表),但尚未填充值,以具有定义的大小。 例如在C中: 我该如何在python中做到这一点? 谢谢。 问题答案: 您可以使用: