# 奇数未小于相邻偶数为的值
# 难度:中等
# 描述
给定一个数组排序,使得奇数位的值不大于相邻偶数位的值
# 样例
[1, 2, 3, 4, 5, 6] 返回 [ 4, 1, 5, 2, 6, 3 ]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0] 返回 [ 5, 0, 6, 1, 7, 2, 8, 3, 9, 4 ]
# 思路分析:
# 想
# 一
# 想
# 再
# 看
# 答
# 案
# 想
# 一
# 想
# 再
# 看
# 答
# 案
# 代码:
function sortArr(arr) {
// 升序
arr.sort((a, b) => {
a - b;
});
// 将第一个小值与第二个比它大的值交换,得左右两边都是比它大的值
// 每次+2 间隔两个值交换一次
for (var i = 0; i < arr.length - 1; i += 2) {
var tmp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = tmp;
}
return arr;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 鼓励我一下:
觉得还不错的话,给我的项目点个star吧