刷題49 力扣3道題)

2022-07-28 04:09:10 字數 1440 閱讀 8385

輸入整數陣列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 = 1

輸出:[0]

1. 寫sort數值排序

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,...