第一种方法:建立一个数组。当用户输入时,检查数组的最后一个数是否等于输入,如果不等于,则推入。最后,输出数组的长度就可以了。
第二种方法:不管用户输入的数字中是否有连续重复的数字,都推到一个数组中,最后去掉连续数字的长度。于是问题就变成了:实现一个功能,用户输入:[1,2,2,2,3,4,4,4,5,5],要求输出为5(即[1,2,3,4,5]的长度)。
。
我是根据题目描述来理解上述方法的:"如果用户连续猜测同一个数字,将只计算一次。只剔除重复的数字,也就是说,用户输入1、2、3、3三次,输入3、1、2、3四次。但是看了其他回答,好像你的理解是不连续的,重复的?也就是说,输入3、1、2、3算3次。在这种情况下,稍微改变一下上面的方法就好了。第一种方法:输入时判断输入是否已经存在。如果用
可以使用JS中遍历List和Map的方法。
1.方法1
$.每个(列表2,函数(索引,项目){
(索引#34:#34项)
})
//遍历地图
$.每个(map_demo,function(k:#34键#34,Valu:#34值)
})
$.map()遍历列表/map//遍历列表。
varnew_list$。map(list2,function(items,index){
退回项目#34!#34
})
(新_列表)
//遍历地图
$.map(map_demo,function(key,value){
consol:#34值)
})
总结:$的写作。map()类似于$的。each(),但是在遍历列表时,参数的顺序与$的顺序相反。each(),它可以接受一个返回值。对地图的遍历与$相同。每个()
导线列表/地图//导线地图
for(map_#34map_d:#34列表2[索引])
}
总结:对于列表,不能不用就不用,效率很低。
遍历(函数(元素,索引,数组)(
(元素)//当前元素的值
(index)//当前下标
(数组)//数组本身
})
总结:几乎和for循环一样高效。