题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1230解题思路: 刚开始是做法是直接把a跟b转化成十进制数,加完后再转化,最后一看是25位,数据太大存不下,只能用数组做了,用两个数组做把个位的放在数组的第一位,这样就不会考虑高位放在第一位,进位的问题了...
分类:
其他好文 时间:
2015-05-07 16:35:24
阅读次数:
79
先讲一种错误的做法:WA了n次,大神一定帮我看一下//看到有说数组大小开到250,我改了之后还是不//思路是将arr这个数组的每一行附上输入的值,然后求每列所有数之和,当然进位//maxlen记录这个二维数组的有用就是可以加的长度列数,row用来记录行数,那就不用遍历二维数组所有行列#include...
分类:
其他好文 时间:
2015-05-05 21:26:16
阅读次数:
116
FFT模版题。观察题目,我们可以发现,只要把序列b倒过来,再联想一下乘法运算。。。我们会发现,将序列a和序列b当作100进制数,做一次乘法,然后从低到高每一位便是答案了(乘完无需进位)#include #include #include #include #include #include #inc...
分类:
其他好文 时间:
2015-05-05 18:20:46
阅读次数:
123
每个链表表示一个数,从前向后,每个节点是该数的从低到高每一个十进制位的值,将两个链表相加,返回一个新链表。【思路】每次分别取两链的一个节点相加,有进位则累计到下一位。思路简单,实现起来有很多细节要处理。【my code】ListNode* addTwoNumbers(ListNode* l1, Li...
分类:
其他好文 时间:
2015-05-05 12:23:40
阅读次数:
105
https://leetcode.com/problems/add-two-numbers/
题意:两个链表表示两个数 ,
2 4 3
5 6 4
按照加法的规则从左往右加以及 进位。
输出:和的链表。
仍然是水题。一些特殊情况需要考虑(这些做题的时候我考虑到了)
1、如果两个长度不等,如l1>l2 ,那么需要l1比l2多出来的部分加上进位copy到ans里
2、5+5的...
分类:
其他好文 时间:
2015-05-02 22:06:04
阅读次数:
215
TotalAccepted:40264TotalSubmissions:161822MySubmissionsQuestionSolutionGiventwobinarystrings,returntheirsum(alsoabinarystring).Forexample,a="11"b="1"Return"100".分析,模拟二进制,一位一位的运算,从后往前,两个字符串一块进行,一定要注意“进位”的处理publiccl..
分类:
其他好文 时间:
2015-04-30 01:09:02
阅读次数:
172
怎么由逻辑电路实现二进制的加法 首先二进制的加法可以拆解为两个步骤:加与进位。+加法01001110+进位01000101 加这一步骤可以由异或门来完成,进位这一步骤则可以用与门来完成。 但是由这两个逻辑门只能组成一个半加器,输入2个值,输出加和位与进位。这是不够的,除了最低位的加法不需要进位...
分类:
其他好文 时间:
2015-04-29 07:04:37
阅读次数:
171
网址:https://leetcode.com/problems/add-two-numbers/
题意:
可以用来做大数加法,
从低位开始两两相加,如果大于等于10,则进位
提示:
(1)l1为null 或 l2为null
(2)l1比l2长 或 l2比l1长
(3)l1和l2中的最高位仍然不足以表示两者的和,即需新建结点
解法1:
改变l1的值,
如果l1比l2短,则另接l...
分类:
其他好文 时间:
2015-04-27 21:46:06
阅读次数:
113
题意:
给一串字符,按规则增加n次。
1.如果有字母数字符号,把最左边的数字或者字母+1, 否者就把最右边的其他符号asc码+1.
2.当字母或者数字到了 9 或者 Z 或者 z 再增加就向左进位,自己变成0,A,a.
3. 如果左边已经没有数字或者字母了,就在最左边的数字或字母左边,紧贴着加一位,字母加A或a,数字加1.
具体看案例就能明白了。
做法:模拟就好了,从右至左,看到数字字母,就加,没进位就结束,有进位就继续向左。
我用c++的string类做的, 我看了下一起比赛的同学代码,如果用c...
分类:
其他好文 时间:
2015-04-18 19:15:36
阅读次数:
157
题目大意:
定义fibonacci数列前两项f[1] = 1,f[2] = 2。现在给你一个区间[a,b],a <= b <= 10^100。
问:区间[a,b]之间有多少个fibonacci数。
思路:
a、b的规模很大,是个100位10进制的数。所以要用数组模拟大整数加法求fibonacci数列。用整型
二维数组F[i][]表示第i个fibonacci数,因为从个位倒着存入数组方便进位,所以F[i][]数组中的数是倒
着的。第480个fibonacci数是101位,先求出前480个fibonacci数...
分类:
其他好文 时间:
2015-04-18 10:04:34
阅读次数:
177