题目:求两个整数之和,要求不得使用 加减乘除四则运算题解分析:加减乘除都不能用,还要进行各种运算,必然想到 位运算十进制加法: 5 + 17 = 22step1. 各位相加,不考虑进位,即舍弃进位,结果为 12 (5 + 7 = 12舍弃进位)step2. 做进位 (5 + 7 = 12 > 9 有...
分类:
其他好文 时间:
2014-07-10 10:55:09
阅读次数:
152
题目:输入一个整型数组,数组里有正数也有负数。数组中一个或者连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)分析:首先需要考虑的条件:数组里有正数也有负数,根据这个条件,从数组第一个元素开始,temp累计相加,当temp增加时,我们就将temp赋值给sum。当temp...
分类:
其他好文 时间:
2014-07-07 23:22:47
阅读次数:
224
题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。分析:首先最先想到的是遍历从1到n的每个数,判断每个数中包含1的个数,再相加。 时间复杂度:如果输入数字为n,n有O(logn)位,我们需要...
分类:
其他好文 时间:
2014-07-07 18:57:02
阅读次数:
193
上一篇博文说到相关子查询效率低下,那我们怎么能将不同表的信息一起查询出来呢?这就需要用到表联接。和之前的UNION组合查询不同,UNION是将不同的表组合起来,也就是纵向联接,说白了就是竖着拼起来。而表联接是通过笛卡尔乘积将表进行横向联接,所谓的通过笛卡尔乘积简单说就是两表的行依次相联再相加。要想更...
分类:
数据库 时间:
2014-07-01 16:44:34
阅读次数:
371
两次SPFA。求 来 和 回 的最短路之和。
用Dijkstra+邻接矩阵确实好写+方便交换,但是这个有1000000个点,矩阵开不了。
d1[]为 1~N 的最短路。
将所有边的 邻点 交换。
d2[] 为 1~N 的最短路。
所有相加为 所要答案。
忧伤的是用SPFA “HDU 1535” AC了,但是POJ 一样的题 “POJ 1511” 就WA了。
...
分类:
其他好文 时间:
2014-07-01 07:20:32
阅读次数:
206
两次SPFA。求 来 和 回 的最短路之和。
用Dijkstra+邻接矩阵确实好写+方便交换,但是这个有1000000个点,矩阵开不了。
d1[]为 1~N 的最短路。
将所有边的 邻点 交换。
d2[] 为 1~N 的最短路。
所有相加为 所要答案。
忧伤的是用SPFA “HDU 1535” AC了,但是POJ 一样的题 “POJ 1511” 就WA了。
...
分类:
其他好文 时间:
2014-06-30 17:27:22
阅读次数:
206
题目链接:http://poj.org/problem?id=2442
题目大意:给出一个m*n的矩阵,从每一行中取出一个数相加,能得到n^m个不同的结果,要求输出其中前n项。
建立一个以n元数组为底层数组的堆,在这里,利用stl中的make_heap,pop_heap,push_heap等函数解决。
1.将第一组数据输入arr1数组,升序排序。
2.将接下来的数据输入到arr2数组中,并...
分类:
其他好文 时间:
2014-06-29 23:25:31
阅读次数:
259
题目:求1+11+111+1111+...+n个1的和中有多少个1?
解答思路:从个位往最高位计算,比如一直加到2014个1,那么个位一共有2014个1相加,先判断相加之后的和最低位(个位是否为1),相加之后的进位为201,其中2,0,1分别对应千位,百位和十位的进位;接下来求十位的和,十位为2013个1加上上一次的进位1,算出本次的进位(相对于十位的计算结果来说,个位的计算结果中只有20才是进...
分类:
其他好文 时间:
2014-06-28 08:54:46
阅读次数:
193
题目:输入一个递增排序的数组和一个数字target,在数组中查找两个数使得它们的和正好是target题解分析:一提到有序数组,应该立马联想到 二分查找因为数组已经有序了,我们可以设置两个游标first和last,下标first指向 0, last指向 size() - 1, 然后相加如果相加和 大于...
分类:
其他好文 时间:
2014-06-27 11:53:40
阅读次数:
210
这次我们来完成整个2048的数字相加逻辑其实2048玩起来简单,做起来也简单,复杂就复杂在这整个游戏的逻辑。...
分类:
其他好文 时间:
2014-06-27 09:13:51
阅读次数:
226