找出数组中相加等于某数的两个数

约定不等于承诺〃 2022-05-10 04:36 407阅读 0赞
  1. public static void main(String[] args) throws IOException {
  2. int[] a={
  3. 4,5,3,2,7,9,1};
  4. findSumNum(a,10);
  5. //1,9
  6. //3,7
  7. //5,5
  8. }
  9. //给定一个数字,一个数组,找出数组中相加等于这两个数的和,不能用数据结构
  10. public static void findSumNum(int[] a,int sum){
  11. Arrays.sort(a);
  12. int i=0,j=a.length-1;
  13. while(i<=j){
  14. if(a[i]+a[j]<sum) i++;
  15. else if(a[i]+a[j]>sum) j--;
  16. else {
  17. System.out.println(a[i]+","+a[j]);
  18. i++;
  19. }
  20. }
  21. }

发表评论

表情:
评论列表 (有 0 条评论,407人围观)

还没有评论,来说两句吧...

相关阅读

    相关 相加

    > 题目: > > 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 > > 如果,我

    相关 数组单独出现

    题目一:一个数组中,只有一个数字出现了一次,其余都是成对出现,找出这个数字 题目二:一个数组中,有两个数字出现了一次,其余都是成对出现,找出这两个数字 题目三:一个数组

    相关 相加

    给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回

    相关 数组里面重复

    题目:假如你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000之间(包括1000)、此外,除了一个数字出现两次外,其他的数字只出现了一