算法学习笔记--7.digit-counts
来源:互联网 发布:linux ftp限制ip访问 编辑:程序博客网 时间:2024/05/29 13:06
计算数字k在0到n中的出现的次数,k可能是0~9的一个值
样例
例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次 (1, 10, 11, 12)
标签: 枚举法
解答:
剩下的就是算法的思想:
- 首先,i是区间(0, n)中间的一个数。
- i 需要用来遍历整个区间(0, n),使用了 j = i 语句将 i 的值赋给 j 。
- 如果 j % 10 == k 成立, 说明 i 的个位是 k,result += 1。
如果 j % 10 == k 不成立,说明 i 的个位不是 k,直接运行 j = int(j/10) 来检查 i 的十位是不是k 。 - j = int(j/10) 会保留 i 的十位以上的数。
- while循环继续运行这时,知道数字 i 的每一位都检查完,跳出while 循环。
- 继续运行for 循环,检查整数 i + 1 。
class Solution: # @param k & n two integer # @return ans a integer def digitCounts(self, k, n): assert(n >= 0 and 0 <= k <= 9) result = 0 for i in range(0, n+1): j = i while True: if j % 10 == k: result += 1 j = int(j/10) if j == 0: break return result
阅读全文
0 0
- 算法学习笔记--7.digit-counts
- digit-counts
- lintcode:Digit Counts
- #3 Digit Counts
- **[Lintcode]Digit Counts
- Digit Counts 解题报告
- Lintcode 3:Digit Counts
- Problem 63 Powerful digit counts
- Project Euler 题解 #63 Powerful digit counts
- Project Euler:Problem 63 Powerful digit counts
- 3.Digit Counts-统计数字(中等题)
- 机器学习笔记——KNN与Digit Recognizer问题
- 数据结构与算法 LeetCode编程练习--counts Prime
- [算法学习笔记]算法基础知识
- 【算法学习笔记】-排序算法
- 【算法学习笔记】贪心算法
- 算法学习笔记--狄克斯特拉算法
- 算法学习笔记--贪婪算法
- centos安装tomcat7
- mybatis动态SQL之update 去掉最后一个逗号trim方法
- 近来的一些感悟
- 学习笔记TF035:实现基于LSTM语言模型
- linux常用的快捷键
- 算法学习笔记--7.digit-counts
- java打印出当前时间小例子
- 字符设备驱动框架2:设备文件(设备节点)如何和驱动建立联系-Linux字符设备中的两个重要结构体(file、inode)
- 网易2017秋招编程题集合
- maven 菜鸟级问题--连接不到中央库
- 什么是ASP.NET?
- 自已动手编译Linux系统-基于ALFS的LFS8.0实践(四)
- java 反射详解
- Java中的多线程你只要看这一篇就够了