快排(緊記快排模板,partition & fastsort)
int
fastsort
(int arr,
int l,
int r)
return arr;
}int
partition
(int
arr,
int l,
int r)
arr[l]
= tmp;
return l;
}
輸入乙個非負整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個
利用快排思想,比較拼接起來的字串的大小,進行排序
// 先把int陣列轉化成字串陣列,再進行快排(利用compareto進行比較)其他與快排相同
strings[i]
= string.
valueof
(nums[i]
);
演算法 劍指offer
思路 若百位上數字為0,百位上可能出現1的次數由更高位決定 若百位上數字為1,百位上可能出現1的次數不僅受更高位影響還受低位影響 若百位上數字大於1,則百位上出現1的情況僅由更高位決定。舉例 個位1出現的次數 round 1 1 每次迴圈1出現一次,0 9迴圈了53次,第54次迴圈為0 4 十位1出...
劍指offer演算法
動態規劃 題目描述 hz偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了 在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全為正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,並期望旁邊的正數會彌補它呢?例如 連續子向量的最大和為8...
劍指 Offer 40 最小的k個數 快排 堆
劍指 offer 40.最小的k個數 輸入整數陣列 arr 找出其中最小的 k 個數。例如,輸入4 5 1 6 2 7 3 8這8個數字,則最小的4個數字是1 2 3 4。示例 1 輸入 arr 3,2,1 k 2 輸出 1,2 或者 2,1 示例 2 輸入 arr 0,1,2,1 k 1 輸出 0...