Lintcode 1 463 整數排序

2021-08-14 14:53:07 字數 786 閱讀 6383

題目:給一組整數,按照公升序排序,使用選擇排序,氣泡排序,插入排序或者任何 o(n2) 的排序演算法

1、氣泡排序

原理:從第乙個整數開始第一趟,比較相鄰的兩個元素,大的放在後面;一輪結束後,最大的數沉底;重複這一過程,完整n-1趟。

所以有兩個迴圈,外迴圈決定第幾趟、從第幾個元素開始比較;內迴圈是比較相鄰兩個元素大小,決定要不要交換。

class solution}}

}};

2、插入排序

原理:第一趟把第乙個元素當做有序序列,用第二個和第乙個比,將大的放在後面;第二趟把前兩個元素當做有序序列,用第三個元素跟第二個比,大的放後面,再用第二個跟第乙個比,大的放後面;第三趟把前三個當做有序序列,用第四個元素跟第三個比,再用第三個跟第二個比,第二個跟第乙個比;......以此類推。兩個迴圈,外迴圈決定從無序序列開始,內迴圈進行從後往前的兩兩比較和交換。

class solution }}

};

3、選擇排序

原理:遍歷整個陣列,對於當前位置i,定義乙個變數min_idx,用來記錄當前位置往後的最小的座標,並通過遍歷以後所有的數字來找這個最小的座標;然後交換a[i]和a[min_idx]。

外迴圈定義當前位置,內迴圈找到當前往後最小的元素座標。從第乙個元素開始,選擇後面元素裡面最小的乙個和第乙個元素交換,直到最後乙個元素。

class solution 

}swap(a[i], a[min_idx]);}}

};

參考:

lintcode整數排序

lintcode反轉整數

反轉整數 將乙個整數中的數字進行顛倒,當顛倒後的整數溢位時,返回 0 標記為 32 位整數 您在真實的面試中是否遇到過這個題?yes 樣例給定x 123,返回321 給定x 123,返回 321 標籤 相關題目 本題採用數學計算法而不是文字翻轉,所以末尾為0的翻轉不用考慮。坑就是要考慮溢位啊!一開始...

LintCode 整數排序 II

題目描述 給一組整數,按照公升序排序。使用歸併排序,快速排序,堆排序或者任何其他 的排序演算法。樣例 給出 3,2,1,4,5 排序後的結果為 1,2,3,4,5 做題思路 這一題同前面一題一樣,也是為整數進行公升序排序,但不同的是時間複雜度變了,而sort函式不僅符合上一題的要求,更符合這一題的要...

Lintcode 整數排序 II

1.題目 給一組整數,按照公升序排序。使用歸併排序,快速排序,堆排序或者任何其他 o n log n 的排序演算法。樣例給出 3,2,1,4,5 排序後的結果為 1,2,3,4,5 2.思路 sort 函式是nlogn的演算法,用此函式可以解決此問題。3.ac class solution 錯誤 c...