
Java:2的个数
发布日期:2021-05-11 02:22:12
浏览次数:12
分类:精选文章
本文共 1274 字,大约阅读时间需要 4 分钟。
2的个数
请编写一个方法,输出0到n(包括n)中数字2出现了几次。
给定一个正整数n,请返回0到n的数字中2出现了几次。
测试样例:
10 返回:1public class Count2 { public int countNumberOf2s(int n){ int count=0;//以122209为例,计算各位时2的个数 int low=0;//计算低位 此时低位为0 int current=0;//计算当前位9 int high=0;//计算高位 此时高位为12220 int flag=1;//标记此时是个位数1、十位数10还是百位数100 此时flag为1 while (n/flag !=0){ low=n-(n/flag)*flag;//12209-(12209/1)*1=0 current=(n/flag)%10;//(12209/1)%10=12209%10=9 high=(n/flag)/10;//(12209/1)/10=12209/10=1220 if(current==1 || current==0){//当前位 < 2的情况 count+=high*flag; //高位*flag }else if(current==2){//当前位 = 2的情况 count+=high*flag+1+low; }else { //当前位 > 2的情况 count+=(high+1)*flag; } flag*=10; } return count; }}
这道题看了很久才想明白,也是自己太菜了,看了很多别人的答案才想过来,以下附上大神的答案,饮水思源
https://blog.csdn.net/ty6693/article/details/98077414?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158622336919725219921134%2522%252C%2522scm%2522%253A%252220140713.130056874…%2522%257D&request_id=158622336919725219921134&biz_id=0&utm_source=distribute.pc_search_result.none-task-blog-all_SOOPENSEARCH-1https://www.nowcoder.com/profile/4112248
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月19日 02时21分24秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
HTTP协议状态码详解(HTTP Status Code)
2021-05-09
JMeter 中实现发送Java请求
2021-05-09
设计模式点滴
2021-05-09
数据库优化
2021-05-09
[备忘]域用户登陆出现“此工作站和主域间的信任关系失败”错误解决方法
2021-05-09
继续聊WPF——用Blend自定义Listview控件的列表头
2021-05-09
【.net 深呼吸】启动一个进程并实时获取状态信息
2021-05-09
OO_Unit2 多线程电梯总结
2021-05-09
json-lib的使用《二》
2021-05-09
LeetCode52题,别再问我N皇后问题了
2021-05-09
简单实用算法——字节位序反转
2021-05-09
webpack之带有可自动打开浏览器及热重载的基本配置
2021-05-09
前端的批量接口如何快速响应?有没有通用解决方案?
2021-05-09
Shader 入门笔记(一) 如何学习shader
2021-05-09
Huffman树及其编解码
2021-05-09
分布式、高并发、高性能场景(抢购、秒杀、抢票、限时竞答)数据一致性解决方案
2021-05-09
20.波利亚过程
2021-05-09
04_Mysql配置文件(重要参数)
2021-05-09
浅谈使用git进行版本控制
2021-05-09