为了去小米面试准备的算法题:求递增数组中相加等于10的元素对
2021/5/13 20:29:07
本文主要是介绍为了去小米面试准备的算法题:求递增数组中相加等于10的元素对,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
使用双指针,由于是单调递增的,所以数对是不可能重复的。
import java.util.ArrayList; import java.util.List; public class TwoNumSum { public static void main(String[] args) { int nums[]={1,2,3,4,5,6,7,8,9,10}; List<NumberPair> theTwoNums = new TwoNumSum().findTheTwoNums(nums, 10); theTwoNums.forEach(x->System.out.println(x.num1+","+x.num2)); } public List<NumberPair> findTheTwoNums(int[] nums,int target){ List<NumberPair> list=new ArrayList<>(); int left=0; int right=nums.length-1; while(left<right){ if(nums[left]+nums[right]==target){ list.add(new NumberPair(nums[left],nums[right])); left++; right--; }else if(nums[left]+nums[right]<target){ left++; }else if(nums[left]+nums[right]>target){ right--; } } return list; } } class NumberPair{ public int num1; public int num2; public NumberPair(int num1,int num2){ this.num1=num1; this.num2=num2; } }
这篇关于为了去小米面试准备的算法题:求递增数组中相加等于10的元素对的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略