[算法学习]给定一个整型数组,找出两个整数为指定整数的和(1)
来源:互联网 发布:alibaba的json jar包 编辑:程序博客网 时间:2024/05/21 22:47
问题描述:给定一个整型数组,是否能找出其中的两个数使其和为某个指定的值?(假定是无序数组)
解法一:暴力破解(穷举法,不提倡)
/** * 暴力破解 * (穷举,时间复杂度:O(n^2),正常是不会用这个滴,假如只是为了快速解题,对时间没有限制,用这个最简单) * * @param nums * @param target */ public static void findTwo1(int[] nums, int target) { int one, two; for (int i = 0; i < nums.length; i++) { one = nums[i]; two = target - one; for (int j = 0; j < nums.length; j++) { if (i != j) { if (two == nums[j]) { System.out.println("one:" + one + " two:" + two); return; } } } } System.out.println("找不到这两个数"); }
解法二:二分法(相当于用两个指针)
/** * 两个指针二分查找 * (排序时间复杂度为O(nlog(n)),while最多O(N),所以最终程序的时间复杂度为:O(nlo(n))) * * @param nums * @param target */ public static void findTwo2(int[] nums, int target) { // 1.排列(用的是Dual-Pivot Quicksort(快速排序),时间复杂度为O(nlog(n))) Arrays.sort(nums); // 2.类二分查找 int left = 0; int right = nums.length - 1; while (left < right) { if (nums[left] + nums[right] > target) {// 太大 right减少 right--; } else if (nums[left] + nums[right] < target) {// 太小left增加 left++; } else {// 找到结果,结束查找 System.out.println("one:" + nums[left] + " two:" + nums[right]); return; } } System.out.println("找不到这两个数"); }
1 0
- [算法学习]给定一个整型数组,找出两个整数为指定整数的和(1)
- [算法学习]给定一个整型数组,找出两个整数为指定整数的和(2)
- [算法学习]给定一个整型数组,找出两个整数为指定整数的和(3)
- 给定一个无序整型数组,找出数组中未出现的最小整数
- leetcode-java.T001_TwoSum 给定一个整数数组,找出其中两个数满足相加等于你指定的目标数字
- 给定一个整数数组,返回数组中两个元素的和为target的索引
- Java算法给定一个整数数组,找出其中两个数相加等于目标值
- Java算法给定一个整数数组,找出其中两个数相加等于目标值
- 给定一个整形数组,是否能找出其中的两个数使其和为某个指定的值?
- 给定N个整数集合是否存在两个其和刚好为指定常数的元素
- [算法]给定一个整型数组,找出能相加起来等于一个特定目标数字的两个数。
- 求解一个数组里等于给定整数和的两个数的O(n)时间复杂度算法
- 求解一个数组里等于给定整数和的两个数的O(n)时间复杂度算法
- 数组A中任意两个相邻元素大小相差1,现给定这样的数组A和目标整数t,找出t在数组A中的位置。
- 给定一个整数数组,找到和为零的子数组。
- 【算法导论学习-005】整数集合S中是否存在两个数等于给定的一个整数
- 程序员面试金典——解题总结: 9.17中等难题 17.12设计一个算法,找出数组中两数之和为指定值的所有整数对。
- 【每天一道算法题】给定一个存放整数的数组,要求数组左边为奇数,右边为偶数
- 用C++写线性容器Vector
- iOS中判断字符串中的字符
- kafka基准测试
- Linux命令----分析CPU的瓶颈
- 懒癌治疗仪 - 写在前面
- [算法学习]给定一个整型数组,找出两个整数为指定整数的和(1)
- TCP的哪些事(下)
- Linux tcpdump的命令大全
- hadoop 2.6.3 BlockPlacementPolicy分析
- python中if __name__ == '__main__': 的解析
- Android Audio System 之二:AudioFlinger
- Random.org -- 真正的随机数生成器
- UITbbar图片变形,或者不是图片原始状态
- 1/28 if