2.3-7
来源:互联网 发布:python 防止sql注入 编辑:程序博客网 时间:2024/06/10 02:31
不考虑hash算法
代码戳这里
算法如下:
1.先对数组A从小到大排序
2.令left为0,right为n-1(n为A长度)
3.若left == right 返回失败,否则检查A[left]+A[right]是否等于x,若等于则返回成功,否则若小于x,则left++,若大于x,则right–,然后重复步骤3
证明:
若本身无解,算法显然会返回失败
若有解,我们总能找到一组解(a,b),b-a是所有解中最大的。
我们考察步骤3的每一次执行时的left和right,我们用数学归纳法来证明第k次执行步骤3时总有left≤a与right≥b成立
k=1时,显然成立
k=t时,假设成立
k=t+1时,若left>a,在第t步时,必有left==a,我们将left加1。第t步时,right≥b,若right==b,则不会执行t+1步;若right>b,则此时
故由数学归纳法,每次执行步骤3时总有left≤a与right≥b成立
由于每一次执行步骤3,如果不返回成功(由于讨论有解情况,所以
这样,我们就能找到解(a,b)
0 0
- 2.3-7
- 2.3.7 FAST_START_MTTR_TARGET
- 算法导论 2.3-7
- u880刷2.3.7
- 算法导论 2.3-7
- 习题2.3-7
- 算法导论2.3.7
- 算法导论2.3.7
- 算法导论2.3-7
- 《算导》练习题 2.3-7
- S5830 android 2.3.4和2.3.7
- 算法导论习题2.3-7
- 算法导论习题2.3-7
- Defy刷魔趣2.3.7包~
- andorid 2.3.7源码结构
- Chapter 2, Exercise 2.3-7
- 《算法导论》练习题2.3-7
- 算法导论 练习 2.3-7
- Android 记录1 自定义View
- 使用MySQL图形化工具Navicat创建表
- HDU 1481 树的性质(神坑)
- Java利用Zxing生成二维码
- Maven入门指南⑤:使用Nexus搭建Maven私服
- 2.3-7
- Android 常用 adb 命令总结
- JavaScript自学第4讲:JavaScript运算符介绍
- 建造者模式
- 在java中生成二维码,并直接输出到jsp页面
- html中的meta
- C++作业4.21
- 动态规划法.md
- Valid Phone Numbers