Menu Sidebar
Menu

Archive: August 17, 2015

[LintCode] Count and Say

public String countAndSay(int n) { // Write your code here String s = “1”; for(int i = 1; i < n; i++) { StringBuffer sb = new StringBuffer(); int count = 1; for(int j = 1; j < s.length(); j++) { if(s.charAt(j) == s.charAt(j-1)) count++; else{ sb.append(count); sb.append(s.charAt(j-1)); count = 1; } } sb.append(count); sb.append(s.charAt(s.length()-1)); […]

Add Digits 数根与数的韧性

LeetCode居然来了数学题. 这题的本意很明显就是求数根.求数根,先要知道什么是数的韧性. 定义数的(+)韧性(Additive Persistence),为把一个数字的每个digit分别相加,得到新的数后继续这个操作,直到留下仅剩一个digit. 定义这个digit为数根. 上边的是求数根的简便运算, 由以上公式可以看出, 数的韧性的序列前几位为: 0, 10, 19, 199… 数根的应用不是很广, 一般有两个, 一个是用数根的性质: 数字本身的加减乘除等于其表达式对应的数根的加减乘除, 这个可以快速检验运算的正确性. 第二个应用是, 就是快速求同余(两个数对同一个数求余数, 如果相同, 即为同余).

书脊

这青苔碧瓦堆, 俺曾睡风流觉, 将五十年兴亡看饱.

August 2015
M T W T F S S
 12
3456789
10111213141516
17181920212223
24252627282930
31