算法

排序

JZ29

自己的解决步骤

1
2
3
4
5
6
7
8
9
10
11
12
13
function GetLeastNumbers_Solution(input, k)
{
// write code here
let length=input.length;
if(k>length+1)return []
let res=[]
for(let i=0;i<k;i++){
res.push(input.sort().shift())
}
return res


}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function GetLeastNumbers_Solution(input, k)
{
// write code here
let length=input.length;
if(k>length+1)return []
let res=[]
for(let i=0;i<k;i++){
res.push(Sort(input).shift())
}
return res
}

function Sort(arr){
let len=arr.length
for(let i=0;i<len;i++){
for(let j=i;j>0&&arr[j]<arr[j-1];j--){
//交换arr[j],arr[j-1]
[arr[j],arr[j-1]]=[arr[j-1],arr[j]];
}
}

return arr;
}

可以参考步骤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function GetLeastNumbers_Solution(input, k)
{
// write code here
if(input.length < k) {
return [];
}
for(let i = 0; i < k; i++) {
for(let j = i + 1; j < input.length; j++) {
if(input[i] > input[j]) {
let res = input[i];
input[i] = input[j];
input[j] = res;
}
}
}
let array = [];
for(let j = 0; j < k; j++) {
array.push(input[j]);
}
return array;
}

JZ63

自己的解决步骤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
let res=[]

function Insert(num)
{
// write code here
// var res=[];
// res.push(num);
res.push(num);


}



//arr为读取到的数据流
function Sort(input){
let len=input.length;
for(let i=0;i<len;i++){
for(let j=i;j>0&&input[j-1]<input[j];j--){
[input[j],input[j-1]]=[input[j-1],input[j]];
}
}
return input
}




function GetMedian(){
// write code here
let arr=Sort(res);
let len=res.length;
let mi=len/2;
let x= Math.floor(mi);
return len%2?arr[x]:(arr[x]+arr[x-1])/2
}