解了好久结果深入不进去了,只能求助百度,唉,笨蛋一个 一段无厘头的对话,暗含曲折的推理,在哥德巴赫大神的指引下,居然能神奇地得出结论。禁不住想:数字到底是人造的、还是神造的? 进入正题 鬼谷子是孙膑、庞涓的老师,他从2到99中选出两个不同的整数,把两数之和S告诉了庞涓、把两数的乘积M告诉了孙膑。1、 ...
分类:
其他好文 时间:
2017-03-24 00:27:31
阅读次数:
307
给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 1 到 n,不是以 0 开头。 注意事项 你可以假设只有一组答案。 给一个整数数组,找到两个数使得他们的和等于一个给定的数 ...
分类:
其他好文 时间:
2017-02-26 17:33:42
阅读次数:
222
首先我们可以分析人们是如何做十进制的加法的,比如是如何得出5+17=22这个结果的。实际上,我们可以分成三步进行: 我们一直在想,求两数之和四则运算都不能用,那还能用什么?对数字做运算,除了四则运算之外,也就只剩下位运算了。位运算是针对二进制的,我们就以二进制再来分析一下前面的三步走策略对二进制是不 ...
分类:
其他好文 时间:
2017-02-11 21:42:23
阅读次数:
258
题意:有n(n <= 5000)个数的集合S,每次可以从S中删除两个数,然后把它们的和放回集合,直到剩下一个数。每次操作的开销等于删除的两个数之和,求最小总开销。所有数均小于10^5。 分析:按此操作,最终变成1个数,需要n-1次操作,要想总开销最小,就使每次取出的两数之和最小,优先队列。 ...
分类:
其他好文 时间:
2017-02-06 19:32:49
阅读次数:
208
本题题意是指将两个数倒序存储在链表中,再将两数之和同样存储在链表中输出。 我最开始的思路是将每一位相加,再考虑是否进位,但这时就需要考虑一些情况,比较麻烦。 于是我决定采取另一种在网上新学到的方法:这个方法就是将链表中的数字串起来,当做一个long,例如2->4->5,可以根据题目具体要求转化成lo ...
分类:
其他好文 时间:
2017-01-29 22:12:33
阅读次数:
305
LintCode有大部分题目来自LeetCode,但LeetCode比较卡,下面以LintCode为平台,简单介绍我AC的几个题目,并由此引出一些算法基础。 1)两数之和(two-sum) 题目编号:56,链接:http://www.lintcode.com/zh-cn/problem/two-su ...
分类:
其他好文 时间:
2017-01-13 23:46:49
阅读次数:
460
题目链接:http://acm-software.hrbust.edu.cn/problem.php?id=1476 题意:给n个数,m次询问,每次询问一个k。问n个数里两数之和严格小于k的数对。 根据输入样例,无非是需要求: f = cnt(1 2 3 4 5)T * (x)(其中(x)代表1,x ...
分类:
其他好文 时间:
2016-12-04 14:08:40
阅读次数:
239
费波那契数列算法 作者:白宁超 2016年10月27日20:06:54 斐波那契数学描述: F0 = 0 (n=0) F1 = 1 (n=1) Fn = F[n-1]+ F[n-2](n=>2) Python语言实现: 分析:当n=0时为0,n=1时为1,n>2时,最后两数之和。由此可知,链表fib ...
分类:
编程语言 时间:
2016-10-27 20:59:18
阅读次数:
295
思路:首先对无序自然数数列进行排序(升序),然后定义i和j分别指向数列的两端,所指两数之和分别和M作比较,比M大,则j左移,比M小,则i右移。 代码如下: #include <stdio.h>#include <stdlib.h> //快排void sort(int *a, int left, in ...
分类:
移动开发 时间:
2016-10-26 19:43:40
阅读次数:
158
前提:端点的数为1. 每个数等于它上方两数之和。 每行数字左右对称,由1开始逐渐变大。 第n行的数字有n项。 第n行数字和为2n-1。 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。 第n行的第m个数和第n-m+1个数相等 ,为组合数性质之一。 每个数 ...
分类:
编程语言 时间:
2016-10-07 01:43:07
阅读次数:
225