三数字想加等于0
来源:互联网 发布:python 文字识别 编辑:程序博客网 时间:2024/05/09 23:56
三数字想加等于0 性能 O(N^2)
public class ThreeSum {
public static void main(String[] args) {int[] nums = {-1,0,1,6,-2,-4};
System.out.println(threeSum1(nums).toString());
}
public static ArrayList<Atem> threeSum1(int[] num) {
ArrayList<Atem> result = new ArrayList<Atem>();
if (num.length < 3)
return result;
Arrays.sort(num);
for (int i = 0; i < num.length - 2; i++) {
//avoid duplicate solutions
if (i == 0 || num[i] > num[i - 1]) {
int negate = -num[i];
int start = i + 1;
int end = num.length - 1;
while (start < end) {
//case 1
if (num[start] + num[end] == negate) {
ArrayList<Integer> temp = new ArrayList<Integer>();
Atem atem = new Atem(num[i], num[start], num[end]);
result.add(atem);
start++;
end--;
//avoid duplicate solutions
while (start < end && num[end] == num[end + 1])
end--;
while (start < end && num[start] == num[start - 1])
start++;
//case 2
} else if (num[start] + num[end] < negate) {
start++;
//case 3
} else {
end--;
}
}
}
}
return result;
}
}
class Atem{
private int num1;
private int num2;
private int num3;
public Atem(int num1,int num2,int num3){
this.num1 = num1;
this.num2 = num2;
this.num3 = num3;
}
@Override
public String toString() {
return "Atem [num1=" + num1 + ", num2=" + num2 + ", num3=" + num3 + "]";
}
}
0 0
- 三数字想加等于0
- 100到10000 数字各个位相加等于5
- 找出数组中左加和等于右加和的数字
- 正则表达式匹配 等于0的数字
- 用123456789这个数字,不改变顺序,用加,减号连接起来,使结果等于100
- 程序等于数据结构加算法
- iOS 处理Button遇到数字等于0不许点击问题
- 两个数字之和等于sum
- 数字加网(三)— —调频加网算法及实现
- sqlserver 格式化数字,加前导0
- t-sql数字前加0显示
- 数字变String前加0
- Java字符串格式化:数字前面加0
- DOS 数字格式 数字前面加0 1转为0001
- 0.1加10次应该等于多少?
- 知识加自由才等于力量。
- 操作系统等于管理器加一堆数据
- x或y等于x加y
- Android菜鸟的成长笔记(24)——Android中的振动器
- 解决ViewPager中Gallery无法滑动问题
- Hibernate的clear(),flush(),evict()方法详解
- myeclipse10安装aptana插件link方法
- 六大打招呼方式暴露出你的心理特征
- 三数字想加等于0
- 从图片库中取得照片
- Object-c优点和缺点
- Android菜鸟的成长笔记(25)——可爱的小闹钟
- 使用ghost备份系统到新硬盘上使用
- HowTo access metadata from RDO Havana Instance on Fedora 20 & OpenStack Networking concepts
- Linux下MySql多实例免安装部署
- Nodejs开发框架Express3.0开发手记–从零开始
- 赵伟:MPP数据库技术支撑电信行业大数据应用