leetcode--single number
2015-10-22 21:51
225 查看
用数根思想解决single number的思路
数根的定义已经知道,回顾第一条定理:任何数加9的数字根还是其本身。
就是说,一个数n的数根不会因为加9而发生改变。这里实际上有个条件n是保持正整数.0的数根为0;
考虑单个数直接是数根,所以我们把所有数用N*9+n来表示,这样从定理出发,把一个正整数k拆成N*9+n(最大的N)
有了n=k%9 当n>0时,numRoot=n;n就是k的数根;
当n=0时,也就是k=9、18、27等数,numRoot=9;
这就是利用数根知识解决这个问题思路。
置于numRoot=(k-1)%9+1 是对上面式子进行的合并优化。
数根的定义已经知道,回顾第一条定理:任何数加9的数字根还是其本身。
就是说,一个数n的数根不会因为加9而发生改变。这里实际上有个条件n是保持正整数.0的数根为0;
考虑单个数直接是数根,所以我们把所有数用N*9+n来表示,这样从定理出发,把一个正整数k拆成N*9+n(最大的N)
有了n=k%9 当n>0时,numRoot=n;n就是k的数根;
当n=0时,也就是k=9、18、27等数,numRoot=9;
这就是利用数根知识解决这个问题思路。
置于numRoot=(k-1)%9+1 是对上面式子进行的合并优化。
相关文章推荐
- Could not load file or assembly 'Microsoft.VisualStudio.Web.PageInspector.Loader
- jsp之建立一个九九乘法表
- 第四次作业——个人作业——软件案例分析
- Android 高级UI设计笔记04:可以拖动交换item位置的GridView ---> 使用setDrawingCacheEnabled(boolean flag)提高绘图速度
- zigbee项目之上位机app远程控制终端
- 运动捕捉数据的描述ASF/AMC
- week7---10月23日 DIV布局定位(一)
- KNN
- POJ 3259——Wormholes——————【最短路、SPFA、判负环】
- 词法分析编译感想
- VIM常用命令总结
- ural 1150. Page Numbers
- 如何做当当网购物结账页面?
- JavaScript之DOM对象和内置对象
- poj2828 Buy Tickets
- Ubuntu14.04更改为NVIDIA显卡驱动之后黑屏的问题
- EF-实体框架和Linq(2)
- 打破CA和电子签章厂家的技术垄断的一个想法
- Majority Element
- 有关信号的笔记