【LeetCode】簡單演算法模板(JAVA實現)
阿新 • • 發佈:2020-11-19
背景
總結部分簡單演算法的JAVA樣例模板
一、氣泡排序(BubbleSort)
1 //氣泡排序 2 public int[] BubbleSort(int[] nums){ 3 int temp = 0; 4 for(int i=0;i<nums.length-1;i++){ 5 //如果陣列中沒有重複元素,可宣告j=i,節省少量運算次數 6 for(int j=0;j<nums.length-1;j++){ 7 if(nums[j]>nums[j+1]){8 temp = nums[j+1]; 9 nums[j+1] = nums[j]; 10 nums[j] = temp; 11 } 12 } 13 } 14 return nums; 15 }
二、二分查詢(BinarySearch)
1 //二分查詢 2 //前提條件:nums為有序陣列,且應該是從小到大的順序(從大到小也可以,不過判斷邏輯相反) 3 publicint BinarySearch(int input,int[] nums){ 4 int res = -1; 5 int left = 0; 6 int right = nums.length-1; 7 int mid = (left+right)/2; 8 for(int i=0;i<nums.length;i++){ 9 if(input == nums[mid]) { 10 return mid; 11 }else if(input<nums[mid]) { 12 right = mid-1; 13 }else{ 14 left = mid+1; 15 } 16 if(right<left){ 17 break; 18 } 19 mid = (left+right)/2; 20 } 21 return res; 22 }
……未完待續