这是一道简单题,也隔了一段时间没做简单题目了。
这次感觉又不一样了,可以很快就能写出很优雅的代码了,故此很想贴贴自己的代码。
优雅代码的关键就是要利用数学的思想去解:
本题的实质是可以转化为求最大公倍数的的问题,然后利用Inclusion-exclusion(包含和不包含)的原则,计算有多少个数能被a除尽这个公倍数,有多少个数能被b除尽这个公倍数,然后相减就得到最终答案了。...
分类:
其他好文 时间:
2014-06-03 04:51:05
阅读次数:
196
思路:我们先写一个函数,求出从1到整数n之间1出现的次数,而后分别将要求输入的两个数(具体说,应该是最大的数,和最小的数减去1)作为参数传入该函数,得到的值相减,即可得到二者之间的的数中1出现的次数。
最简单的方法,分别求从1到n之间每个数中的1的个数,由于整数n的位数为O(logn),我们要判断一个数有多少个1,需要判断其每一位是否为1,这样一个数就需要判断O(logn)次,而总共有n个数需要求,那么该方法的时间复杂度为O(nlogn)。在九度OJ上用该方法写的代码测试,会超时。
剑指of...
分类:
其他好文 时间:
2014-06-03 01:43:22
阅读次数:
282
题目:统计一个数字k在排序数组中出现的次数。例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,输出4次
方案一:扫描数组,记录第一个出现的k和最后一个k中间有多少个,时间复杂度为O(n)
方案二:由于数组是有序的,那么我们可以利用二分的思想,求出k在数组中的第一个位置和最后位置相减即可。时间复杂度为O(logN)
注意严格按照良好的C++编码风格
#include...
分类:
其他好文 时间:
2014-05-24 21:09:24
阅读次数:
194
//创建当前日期 NSDate *date = [NSDate date]; //创建日期格式类
NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init]; //设置日期格式
[dateFormat ...
分类:
其他好文 时间:
2014-05-16 01:13:12
阅读次数:
325
javascript小数相减会出现一长串的小数位数的原因以上代码为什么产生一长串小数位出来,虽然比较精确,可没必要呀。这个和数据结构有关系,整数型自动转换成正型计算,小数型直接转成double型计算。这是在内存中运算的时候必须这样,你该知道计算机只认识0和1吧,具体的就是浮点精准度的问题。float...
分类:
编程语言 时间:
2014-05-09 03:09:27
阅读次数:
310
[ 需求分析 ]
在我们实际开发中常常会遇到这样的问题:记录一个类的方法运行时间,以分析性能。一般我们的做法是先在类的开始记录一个开始时间,然后在类的结束记录一个结束时间,二者相减就可以获取我们想要的结果。但是很多时候这些类已经打了jar包,我们无法直接修改源码,这个时候我们应该怎么办呢?...
分类:
其他好文 时间:
2014-05-03 15:54:47
阅读次数:
377
数据库中两个字段相减(某列有空值)处理方法:sql server中:select
(isnull(字段1,0)-isnull(字段2,0)) as 结果 from 表oracle中:select (nvl(字段1,0)-nvl(字段2,0))
as 结果 from 表mysql中:select (i...
分类:
数据库 时间:
2014-04-29 16:42:46
阅读次数:
925
01背包的变形。先算出硬币面值的总和,然后此题变成求背包容量为V=sum/2时,能装的最多的硬币,然后将剩余的面值和它相减取一个绝对值就是最小的差值。代码:#include
#include #include #include #include using namespace std;#define...
分类:
其他好文 时间:
2014-04-28 09:53:54
阅读次数:
645