輸入整數陣列arr
,找出其中最小的k
個數。例如,輸入4、5、1、6、2、7、3、8這8個數字,則最小的4個數字是1、2、3、4。
輸入:arr = [3,2,1], k = 2輸出:[1,2] 或者 [2,1]
輸入:arr = [0,1,2,1], k = 11. 寫sort數值排序輸出:[0]
2. 快速排序
法一:sort排序
寫sort數值從小到大排序;
根據k輸出陣列前k個數,就是最小的k
個數。
/*** @param arr
* @param k
* @return
*/var getleastnumbers = function(arr, k) );
let res = ;
for(let i=0;i法二:快速排序
/*** @param arr
* @param k
* @return
*/var getleastnumbers = function(arr, k) else
}return arr.slice(0,index+1);
};function quiksort(arr,left,right)
arr[left] = flag;
return left;
}
輸入數字n
,按順序列印出從 1 到最大的 n 位十進位制數。比如輸入 3,則列印出 1、2、3 一直到最大的 3 位數 999。
示例 1:
輸入: n = 1說明:輸出: [1,2,3,4,5,6,7,8,9]
根據n輸出最小的n+1位數。
根據n確定最小的n+1位數:math.pow(10,n);
輸出從1到最小的n+1位數(不包括最小的n+1位數),就從 1 到最大的 n 位數。
/*** @param n
* @return
*/var printnumbers = function(n)
*//**
* @param nums
* @return
*/var sortedarraytobst = function(nums)
let mid = parseint(len/2);
let root = new treenode(nums[mid]);
root.left = sortedarraytobst(nums.slice(0, mid));
root.right =sortedarraytobst(nums.slice(mid+1));
return root;
};
新手刷題 70道力扣題
1.兩數之和 1 暴力解法 時間複雜度為n n n class solution def twosum self,nums list int target int list int for i in range 0,len nums for j in range i 1,len nums if nu...
力扣刷題日記(3)
最近有點懶,哈哈,刷題挺慢的,今天用python3 練練手了,題目如下 設計你的迴圈佇列實現。迴圈佇列是一種線性資料結構,其操作表現基於 fifo 先進先出 原則並且隊尾被連線在隊首之後以形成乙個迴圈。它也被稱為 環形緩衝器 迴圈佇列的乙個好處是我們可以利用這個佇列之前用過的空間。在乙個普通佇列裡,...
刷題40 力扣1道題 牛客1道題)
給你乙個整數陣列 a,只有可以將其劃分為三個和相等的非空部分時才返回 true,否則返回 false。形式上,如果可以找出索引 i 1 j 且滿足 a 0 a 1 a i a i 1 a i 2 a j 1 a j a j 1 a a.length 1 就可以將陣列三等分。輸出 0,2,1,6,6,...