算法-数组
六月二十七
乘风破浪会有时,直挂云帆济沧海。
展开
-
数组-求最大子数组之和
//求最大子数组之和public int maxSubArray(int[] arr){ int maxSum=Integer.MIN_VALUE; for(int i=0;i<arr.length;i++){ int sum=0; for(int j=i;j<arr.length;j++){ sum+=arr...原创 2019-03-14 09:40:33 · 153 阅读 · 0 评论 -
数组-把一个数组循环右移k位
//把一个数组循环右移k位public static void reverse(int[] arr,int b,int e){ for(;b<e;b++,e--){ int tmp=arr[e]; arr[e]=arr[b]; arr[b]=tmp; }}public static void shiftK(int[] a...原创 2019-03-15 08:56:51 · 786 阅读 · 0 评论 -
数组-找出数组中唯一重复的元素
//找出数组中唯一重复的元素public int findUniqueDuplicateNumber(int[] arr){ int len=arr.length; int tmp1=0; int tmp2=0; for(int i=0;i<len-1;++i){ tmp1+=(i+1); tmp2+=arr[i]; ...原创 2019-03-15 08:58:41 · 327 阅读 · 0 评论 -
数组-找出数组中只出现一次的数字
//找出数组中只出现一次的数字public int findUniqueNumber(int[] arr){ int result=arr[0]; for(int i=1;i<arr.length;++i){ result^=arr[i]; } return result;}原创 2019-03-15 09:00:37 · 228 阅读 · 1 评论 -
数组-数组中两两相加等于k的组合种数
//数组中两两相加等于k的组合种数public static void findSum(int[] arr,int sum){ for(int i=0;i<arr.length;i++){ for(int j=i;j<arr.length;j++){ if(arr[i]+arr[j]==sum){ Sy...原创 2019-03-15 09:01:55 · 708 阅读 · 0 评论 -
数组-找出数组第二大的数
//找出数组中第二大的数public int findSecondMax(int[] arr){ if (arr.length<2||arr==null) { System.out.print("数组不合法,返回:"); return -1; } int maxNumber=arr[0]; int secondMax=Integer.MIN_VA...原创 2019-03-13 16:15:16 · 219 阅读 · 0 评论