LeetCode打卡1 26 歸併排序

2021-10-17 15:55:27 字數 1743 閱讀 4891

歸併排序是典型的的分治思想的體現,關鍵在與遞迴的分和遞迴的和.最好結合動態檢視學習.

public

class

mergesort

;//遞迴演算法 肯定是要有左右邊界的

mergesort ms =

newmergesort()

;int

temp =

newint

[arr.length]

;//temp陣列的目的在於減少額外的空間複雜度

ms.mergesort

(arr,

0, arr.length -

1, temp)

; system.out.

println

(arrays.

tostring

(arr));

}/**

* 分治演算法: 把乙個大問題分解成子問題,遞迴的解決

** @param arr

* @param left

* @param right

* @param temp

*/private

void

mergesort

(int

arr,

int left,

int right,

int[

] temp)

private

void

merge

(int

arr,

int left,

int mid,

int right,

int[

] temp)

else

}//現在將未進行排序繼續在臨時陣列中進行排序,並copy給原來的陣列

while

(i <= mid)

while

(j <= right)

int m =0;

while

(left <= right)

}}

/**

* @description:插入排序:基礎排序演算法中較重要的排序演算法

* @author: tian

* @time: 2021/1/26 21:35

*/public

class

insertsort

;int

ints = insertsort.

insertsort

(nums)

; system.out.

println

(arrays.

tostring

(ints));

}public

int[

]insertsort

(int

nums)

if(j != i)

}return nums;

}}

/**

* @description: 二分查詢,關鍵在於注意等號是否成立

* @author: tian

* @time: 2021/1/26 22:43

*/public

class

binarysearch

else

if(array[mid]

< target)

else

}return-1

;}}

LeetCode演算法打卡

475.供暖器 冬季已經來臨。你的任務是設計乙個有固定加熱半徑的供暖器向所有房屋供暖。現在,給出位於一條水平線上的房屋和供暖器的位置,找到可以覆蓋所有房屋的最小加熱半徑。所以,你的輸入將會是房屋和供暖器的位置。你將輸出供暖器的最小加熱半徑。說明 給出的房屋和供暖器的數目是非負數且不會超過 25000...

leetcode 學習打卡

026 刪除排序陣列中的重複項 033 搜尋旋轉排序陣列 題目描述 python class listnode def init self,x self.val x self.next none class solution def mergeklists self,lists list listn...

leetcode 126 單詞接龍2

給定兩個單詞 beginword 和 endword 和乙個字典 wordlist,找出所有從 beginword 到 endword 的最短轉換序列。轉換需遵循如下規則 每次轉換只能改變乙個字母。轉換過程中的中間單詞必須是字典中的單詞。說明 示例 1 輸入 beginword hit endwor...