数组中两两相加等于20的组合种数
2015-07-05 17:05
453 查看
/* * 如何求数组中两两相加等于20的组合种数 * 对数组排序,时间复杂度为O(nlogn),设置begin和end分别从前向后,从后向前遍历,当arr[being]+arr[end]<20时, * begin++,大于20时,end--。 */ import java.io.IOException; import java.util.Arrays; import java.util.Scanner; public class findSum { public static void findSum(int[] arr,int sum){ Arrays.sort(arr); int begin=0; int end=arr.length-1; while(begin<end){ if(arr[begin]+arr[end]<sum) begin++; else if(arr[begin]+arr[end]>sum) end--; else{ System.out.println(arr[begin]+","+arr[end]); begin++; end--; } } } public static void main(String[] args){ int arr[]={1,7,17,2,6,3,14}; Scanner input=new Scanner(System.in); while(System.in!=null){ int sum=input.nextInt(); findSum(arr, sum); } } }
相关文章推荐
- VC6里的_WIN32_WINNT宏
- 二分(折半)查找算法实现
- Ubuntu 下 触摸板不能使用 解决方法
- LeetCode: Distinct Subsequences [115]
- 工作日志--mfcButton和线程
- Android中的Data Binding初探 (一)
- 【LeetCode 110_二叉树_遍历】Balanced Binary Tree
- 在 VC 中,让调试器带上符号调试
- nsq源码导读(序)
- curl获取12306订票信息
- Rails当你运行一个数据库回滚错误:ActiveRecord::IrreversibleMigration exception
- jboss 5.0 安装配制负载均衡
- JAVA CAS原理深度分析
- (转)python中集合的运算
- leetcode:Summary Ranges
- HDU 1043 Eight (BFS·八数码·康托展开)
- SQL 从指定表筛选指定行信息 获取表行数
- VB获取本机网卡类型、IP、MAC地址
- I/O系统
- The Buses (poj 1167 搜索)