在一个数组元素值递增的数组中插入一个元素值,要求按原来的规矩将它插入数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在一个数组元素值递增的数组中插入一个元素值,要求按原来的规矩将它插入数组相关的知识,希望对你有一定的参考价值。
参考技术A Integer [] m = 1,2,3,5,6; //原有序数组ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(m));//出事数组列表
list.add(4); //插入数组元素
Collections.sort(list); //调用排序函数
for (Integer integer : list)
System.out.print(integer); //循环打印数组
在 for 循环中递增 JavaScript 对象中的值
【中文标题】在 for 循环中递增 JavaScript 对象中的值【英文标题】:Incrementing values in a JavaScript object in a for loop 【发布时间】:2022-01-13 20:26:36 【问题描述】:要求返回第一个唯一值的特定问题(即在数组中只出现一次的值)。我的方法是创建一个 obj,其中键作为数组中的元素,值作为每个值出现次数的计数器。
function solution(arr)
let uniqueObj =
for (let i=0; i<arr.length; i++)
if(uniqueObj[arr[i]] !== undefined)
uniqueObj[arr[i]] = uniqueObj[arr[i]] + 1
uniqueObj[arr[i]] = 1
console.log(uniqueObj)
solution([4,10,5,4,2,10])
//output '2': 1, '4': 1, '5': 1, '10': 1
为什么每次看到相同的键时值都不会增加?
【问题讨论】:
您正在使用 uniqueObj[arr[i]] = 1 将其重置为 1 该行应该在else
块中。
顺便说一句,您可以使用++
来增加一个值,因此您不必将整个表达式写两次。
【参考方案1】:
在 if 语句之后,您将 uniqueObj[arr[i]]
重置为 1。当 uniqueObj
没有 arr[i]
的值时,您需要添加一个 else 子句:
if (uniqueObj[arr[i]] !== undefined)
uniqueObj[arr[i]] += 1;
else // add else block
uniqueObj[arr[i]] = 1
【讨论】:
以上是关于在一个数组元素值递增的数组中插入一个元素值,要求按原来的规矩将它插入数组的主要内容,如果未能解决你的问题,请参考以下文章
c# 数组 插入元素在数组的最前面 数组中原来的值依次向后排列