1.ES6 Array(m).fill(value,start,end)
var pre=Array(m).fill(target);
console.log(Array(8).fill('s')); //[ 's', 's', 's', 's', 's', 's', 's', 's' ]
2.最长连续递增序列
var findLengthOfLCIS = function (nums) {
if (!nums.length) {
return 0
}
var res = [nums[0]]
for (let i = 1; i < nums.length; i++) {
if (nums[i] > nums[i - 1]) {
res.push(nums[i]);
} else {
break;
};
};
return res;
};
var nums = [1, 2, 3, 4, 5, 1, 7, 8];
console.log(findLengthOfLCIS(nums)); //[ 1, 2, 3, 4, 5 ]
3.字符串中的第一个唯一字符的位置
//字符串中的第一个唯一字符
var firstUniqChar = function (s) {
let result = s.length ? [...s].filter((item, index, arr) => {
return arr.indexOf(item) === arr.lastIndexOf(item);
}) : [];
return result.length ? s.indexOf(result[0]) : -1
};
var s='sttsmnchq';
console.log(firstUniqChar(s)); //4
4.求数组中的第K个最大元素
// 求数组中的第K个最大元素
var findKthLargest = function (nums, k) {
nums.sort((a, b) => a - b);
var res = [];
while (k--) {
res.push(nums.pop());
}
return res[res.length - 1]
};
5.搜索下标
var searchInsert = function(nums, target) {
// 利用二分查找法
return binarySearch(nums,target,0,nums.length-1)
};
function binarySearch(arr, target, start, end) {
if (start > end) {
return start
};
var mid = Math.floor((start + end) / 2);
if (arr[mid] == target) {
return mid
};
if (arr[mid] < target) {
return binarySearch(arr, target, mid + 1, end);
};
if (arr[mid] > target) {
return binarySearch(arr, target, start, mid - 1)
};
}