Javascript 数组中缺少数字
当我开始通过排序从数组中搜索元素时,遇到了一个问题:Javascript 数组中缺少数字,javascript,arrays,Javascript,Arrays,当我开始通过排序从数组中搜索元素时,遇到了一个问题: 功能缺失编号(编号){ var缺失=-1; var sorted=numbers.sort(函数(a,b){ a-b }) for(var i=sorted[0];i{ nums.sort((a,b)=>a-b); 对于(变量i=1;i
功能缺失编号(编号){
var缺失=-1;
var sorted=numbers.sort(函数(a,b){
a-b
})
for(var i=sorted[0];i log(missing-number(numbers))
代码中存在大量语法和逻辑错误;以下是一些:
有语法错误(您可能指数组索引为if(numbers(i)==-1){
)和逻辑错误(将数组索引与numbers[i]
进行比较不会告诉您是否缺少了数字,除非缺少的数字恰好是-1
)-1
是您(正确地说,至少在代码中的某个地方)尝试通过减法计算缺少的数字的地方。不幸的是,这在语法或逻辑上都不正确console.log(missing-number(numbers))
应该只是var i=sorted[0]
而不是var i=0
中索引
处元素的值0
1
:
const missing=nums=>{
nums.sort((a,b)=>a-b);
对于(变量i=1;i console.log(缺失([11,19,18,17,15]);
阵列解决方案中的代码缺失数100%性能
func missingNumber( array: [Int]) -> Int {
let length = array.count+1
let totalSum = length * (length+1)/2
let actualSum = array.reduce(0, { x, y in
x + y
})
return totalSum - actualSum
}
另一个解决方案是
public func solution(_ array : inout [Int]) -> Int {
// write your code in Swift 4.2.1 (Linux)
var dict: [Int: Int] = [:]
array.map{
dict[$0] = $0
}
var missingNumber = 1
for (_, _) in dict {
if dict[missingNumber] == nil {
return missingNumber
}
missingNumber = missingNumber+1
}
return missingNumber
}
number
和numbers
不是函数…但是您在console.log中调用number
,并在循环中调用numbers(i)
-您声称您得到的一些输出为-1,但实际上,您的代码无效