【前端笔试题】给定数字N,求从1到N中间0出现的次数
2016-11-03 10:14
190 查看
给定数字N,求从1到N中间0出现的次数
这道题来自于自己真实笔试,现在总结到博文,算是给自己的再一次复习吧,另外也可以与大家分享思路
这道题我的思路是,写一个function,参数为N,先遍历循环N次,拿到每个数,然后再把每个数字转化成字符串形式,再对该字符串遍历循环,用charAt()取到每一个字符串的字符与0比较是否相等,相等次数加1。代码:
function fn(n) { var count = 0; // 记个数 for (var i = 1; i <= n; i++) { // 数字转字符串 var str = i.toString(); for (var j = 0; j < str.length; j++) { // 比较 if (str.charAt(j) == 0) { count++; } } } return count; }
测试:
document.write(fn(11)); // 结果为1
当然我们可以稍微改下参数,让题目变得灵活,我们可以给定数字N,求1到N中,某个数字出现的次数。这里我将某个数字参数定为 target
function fn(n,target) { var count = 0; // 记个数 for (var i = 1; i <= n; i++) { // 数字转字符串 var str = i.toString(); for (var j = 0; j < str.length; j++) { // 比较 if (str.charAt(j) == target) { count++; } } } return count; }
测试也是一样的,传参就好。
上面的方法实现应该是比较基础的,我相信其他朋友肯定有更好的方法,欢迎交流学习指正
咳咳,还是那句话
还是要不断学习,因为自己还很年轻
相关文章推荐
- 如何在排序数组中,找出给定数字出现的次数
- 微软面试题:在排序数组中,找出给定数字的出现次数
- 在排序数组中,找出给定数字的出现次数.比如 [1, 2, 2, 2, 3] 中2的出现次数是3次。
- 给定一个单调递增有序数组A,给定一个数字N,试给出一个算法得到A中该数字N出现的次数。
- 前端笔试题目练习笔记:统计数组中不同的数字出现的概率并排序
- 在排序数组中,找出给定数字的出现次数
- 在已经排好序的数组中统计给定数字出现的次数
- 如何在排序数组中,找出给定数字出现的次数
- 给定一个由数字组成的字符串,如:"12395868392",统计出每个数字出现的次数
- 在排序数组中,找出给定数字出现的次数。比如【1,2,2,2,3】中2的出现次数为3次
- [微软面试题] 在排序数组中,找出给定数字的出现次数
- 在排序数组中,找出给定数字的出现次数
- 每日一道算法题:微软面试题:在排序数组中,找出给定数字出现的次数
- 【IT笔试面试题整理】数组中出现次数超过一半的数字
- 在排序数组中,找出给定数字的出现次数,比如 [1, 2, 2, 2, 3] 中2的出现次数是3次。
- 在排序数组中,找出给定数字的出现次数
- 找到给定数组中出现次数大于长度一半的数字,若没有,则返回0
- 数组之sort Array中,找出给定数字出现的次数
- Python实现统计给定列表中指定数字出现次数的方法
- 在排序数组中,找出给定数字的出现次数