除了手动计算之外,有没有办法或资源在PHP中查找Array实现的时间和空间复杂度?
PHP中的数组实际上是一个有序映射.映射是将值与键关联的类型.此类型针对多种不同用途进行了优化; 它可以被视为数组,列表(向量),哈希表(地图的实现),字典,集合,堆栈,队列,甚至更多.由于数组值可以是其他数组,因此树和多维数组也是可能的.- php.net
据我所知,它似乎具有地图的一般复杂性
这是我朋友的编程课中的一个问题.
问:如何对int
s 数组进行排序然后排列它们,使得所有重复元素出现在数组的末尾?
例如,给定输入
{5, 2, 7, 6, 1, 1, 5, 6, 2}
Run Code Online (Sandbox Code Playgroud)
输出将是
{1, 2, 5, 6, 7, 1, 2, 5, 6}
Run Code Online (Sandbox Code Playgroud)
请注意,数字已排序,重复数字在7之后,这是数组中的最大值.
这必须通过使用任何Java库包/ utils来实现.
我建议首先使用插入或冒泡排序对数组进行排序,然后遍历数组,执行如下操作:
for (int i = 0; i < nums.length - 2; i++) {
for (int j = i + 1; j < nums.length; j++) {
//current and next are same, move elements up
//and place the next number at the end.
if (nums[i] == nums[j]) {
int temp = …
Run Code Online (Sandbox Code Playgroud)