1. 程式人生 > 實用技巧 >【LeetCode】簡單演算法模板(JAVA實現)

【LeetCode】簡單演算法模板(JAVA實現)

背景

總結部分簡單演算法的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     public
int 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 }

……未完待續