求数组中两两元素相加等于20的组合种数
来源:互联网 发布:qq邮箱smtp端口号 编辑:程序博客网 时间:2024/06/05 18:08
import java.util.Arrays;public class Main { public static void main(String[] args) { int[] data = new int[]{2, 3, 4, 4, 5, 6, 16, 18, 17, 16, 23, 24}; Main main = new Main(); System.out.println(main.tpyeCount(data, 20)); } public int tpyeCount(int[] data, int sum) { Arrays.sort(data); int typeCount = 0; int begin = 0; int end = data.length - 1; while (begin < end) { if (data[begin] + data[end] < sum) { //此时需要begin++: begin++; } else if (data[begin] + data[end] > sum) {//此时需要end-- end--; } else {//找到以后需要begin++,end--,去看还没有相加的两个元素。如果有相等的元素也正确 System.out.println(data[begin] + "," + data[end]); begin++; end--; typeCount++; } } return typeCount; }//tpyeCount}//2,18//3,17//4,16//4,16//4
此时的T(n) = O(nlgn),排序可用快排是O(nlgn),后面遍历时是O(n)
这里不一定是20,可以是其他很多种数
阅读全文
0 0
- 求数组中两两元素相加等于20的组合种数
- 数组中两两相加等于20的组合种数
- 求数组中两两相加等于某个数的组合种数
- java实现 数组中两个元素相加等于指定数的所有组合
- 求无序数组中两元素相加等于特定值的索引
- 求无序数组中三元素相加等于特定值的所有情况
- 求无序数组中四元素相加等于特定值的所有情况
- [面试题]设计一个算法找到数组中两个元素相加等于指定数的所有组合
- [面试题]设计一个算法找到数组中两个元素相加等于指定数的所有组合
- 数组中相加之和等于特定值的元素
- 求一个数组里面所有和等于m的组合
- 给定一个数组,求数组中所有元素的可能组合(每个元素只出现一次),使其和等于给定数的解决办法
- 给定一个数组,求数组中所有元素的可能组合(每个元素只出现一次),使其和等于给定数的解决办法
- 求数组中两个元素加起来等于指定的数
- 给定一个整型数组,求数组元素大于等于所有元素平均值的元素个数
- java 无序数组中两个元素相加等于指定的数 o(n)
- 输出1到N之间所有相加等于M的数字组合(背包问题)求相加为M的所有组合--微软酷派经典面试题
- java求子集和,给定数组求这个数组中某些数字相加等于某个值的所有可能集合
- 建造型模式——单例模式(Singleton)
- FPGA入门笔记六 大牛点拨了我
- JZOJ 5224【GDOI2018模拟7.12】C(数论&&杜教筛)
- 音腔
- IT之路-控制语句深度学习、函数及其调用.ZCSDN.2017.7.14
- 求数组中两两元素相加等于20的组合种数
- 线程互斥和同步(一简介)
- python3 爬虫--网页图片爬取
- 【GDOI2018模拟7.12】A
- 数组
- 对于兴建高铁这一题目的理解
- 丑数
- 二分三分总结(需要注意点)
- 大数据推荐算法之基于物品协同过滤推荐实例