給你乙個整數陣列 nums,請你將該陣列公升序排列。
示例 1:
輸入:nums =[5
,2,3
,1]輸出:[1,
2,3,
5]示例 2:
輸入:nums =[5
,1,1
,2,0
,0]輸出:[0,
0,1,
1,2,
5] 1
<= nums.length <=
50000
-50000
<= nums[i]
<=
50000
主要考察的是排序演算法的基本功,這裡只給出個人比較熟悉的演算法,其他的請自行查詢相關資料
class
solution
private
void
quicksort
(int
nums,
int low,
int high)
}private
intgetindex
(int
nums,
int low,
int high)
//隊尾元素小於基準,將隊尾元素賦值給low
nums[low]
= nums[high]
;//隊首元素小於等於基準,隊首向後移動
while
(low<=tem)
//當隊首元素大於基準,將其賦值給high
nums[high]
= nums[low];}
nums[low]
= tem;
return low;
}//選擇排序
private
void
selectsort
(int
nums)
}//將最小的元素和i位置元素互換
int tem = nums[i]
; nums[i]
= nums[minvalueindex]
; nums[minvalueindex]
=tem;}}
//冒泡
private
void
bubblesort
(int
nums)}}
}}
leetcode解題之搜尋旋轉排序陣列
假設按照公升序排序的陣列在預先未知的某個點上進行了旋轉。例如,陣列 0,1,2,4,5,6,7 可能變為 4,5,6,7,0,1,2 搜尋乙個給定的目標值,如果陣列中存在這個目標值,則返回它的索引,否則返回 1 你可以假設陣列中不存在重複的元素。你的演算法時間複雜度必須是 o log n 級別。示例...
LeetCode之搜尋旋轉排序陣列
假設按照公升序排序的陣列在預先未知的某個點上進行了旋轉。例如,陣列 0,1,2,4,5,6,7 可能變為 4,5,6,7,0,1,2 搜尋乙個給定的目標值,如果陣列中存在這個目標值,則返回它的索引,否則返回 1 你可以假設陣列中不存在重複的元素。你的演算法時間複雜度必須是 o log n 級別。示例...
leetcode之搜尋旋轉排序陣列
假設按照公升序排序的陣列在預先未知的某個點上進行了旋轉。例如,陣列 0,1,2,4,5,6,7 可能變為 4,5,6,7,0,1,2 搜尋乙個給定的目標值,如果陣列中存在這個目標值,則返回它的索引,否則返回 1 你可以假設陣列中不存在重複的元素。你的演算法時間複雜度必須是 o log n 級別。示例...