3-sum问题
来源:互联网 发布:系统加速软件 编辑:程序博客网 时间:2024/06/06 05:42
3-sum问题:统计一个不重复数组中3个数相加为0的组合。
import java.util.Arrays;public class Main { public static void main(String[] args) { int[] in = { 3, 4, 5, 6, 1, -6, 8, 21 }; Arrays.sort(in); //-6,1,3,4,5,6,8,21 Main m = new Main(); int length = in.length; int count = 0; for (int i = 0; i < length; i++) { for (int j = i + 1; j < length; j++) { // (X > j)的这个动作非常重要,让其向后查找 //如果(X != -1)的话,会出现重复的情况, //例如:-6 1 5 和 -6 1 5 重复 //会重复查找3两次 ,会出现 -6 3 3 的情况 if (m.binarySearch(in, -(in[i] + in[j])) > j) { count++; } } } System.out.println("有"+count+"个3个数和为0的组合"); } //二分查找 public int binarySearch(int[] in, int key) { Arrays.sort(in); int lo = 0; int hei = in.length - 1; while (lo < hei) { int mid = hei + (lo - hei) / 2; if (key < in[mid]) { hei = mid - 1; } else if (key > in[mid]) { lo = mid + 1; } else { return mid; } } return -1; }}
阅读全文
0 0
- 2sum问题和3sum问题
- 3Sum问题
- 3 Sum问题
- leetcode:3Sum问题
- 3-sum问题
- leetcode 3sum问题
- 3Sum问题
- 3-sum问题
- 算法-3Sum问题
- 3-sum问题
- 3-sum问题
- 剖析3-sum问题(Three sum)
- 2sum/3sum/ksum 问题
- 2Sum/3Sum/3SumClosest/4Sum系列问题
- 2sum,3sum,4sum问题总结
- 2Sum,3Sum,4Sum问题总结
- 【算法】2SUM/3SUM/4SUM问题
- 3sum colsest的问题
- ELF文件格式与动态链接/静态链接(Linux下 可执行文件的格式)
- CSS——给图像加边框时不会产生位置偏移
- spring概述、容器、set方法注入依赖关系
- 封装
- SpringMVC项目示例创建
- 3-sum问题
- html5shiv.js和respond.min.js
- <IOS>IOS应用内支付IAP从零开始详解,让你少踩坑!
- Docker-note-实现原理
- angularjs指令
- PostgreSQL(四)存储结构
- 11.4作业
- Java笔记
- python 简单打包