文章目录
题目
- 字典序排数
给你一个整数 n ,按字典序返回范围 [1, n] 内所有整数。
你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。
示例1
输入:n = 13
输出:[1,10,11,12,13,2,3,4,5,6,7,8,9]
示例2
输入:n = 2
输出:[1,2]
我的答案
- 咱就是说 , js原生里面直接就有
sort()
方法 , 就是用字典序排数的
/**
* @param {number} n
* @return {number[]}
*/
var lexicalOrder = function(n) {
let nums = []
for (let i = 1; i <= n; i++) {
nums.push(i)
}
let res = nums.sort()
return res
};
补充知识点 sort()方法
- 之前用sort()方法多用来排序 , 字母和数字都能排 , 但用它来冒泡排序的时候 , 要重新构造一下
var arr1 = [2, 44, 6, 5, 4];
arr1.sort(function(a, b) {
return a - b; //升序排列
return b - a; //降序排列
})
console.log(arr1);