获得徽章 0
- var totalFruit = function(fruits) {
let map=new Map()
let l=0
let max=0
for(let r=0; r<fruits.length;r++)
{
map.set(fruits[r],(map.get(fruits[r]) || 0)+1)
while(map.size>2){
map.set(fruits[l],map.get(fruits[l])-1)
if(map.get(fruits[l])==0) map.delete(fruits[l])
l++
}
max=Math.max(max,r-l+1)
}
return max
};展开评论点赞 - var sortedSquares = function(nums) {
let res=[]
for(let i=0,j=nums.length-1;i<=j;){
let l=Math.abs(nums[i])
let r=Math.abs(nums[j])
if(r>=l){
res.unshift(r*r)
j--
}else{
res.unshift(l*l)
i++
}
}
return res
};展开评论点赞 - var removeElement = function(nums, val) {
const n = nums.length;
let left = 0;
for (let right = 0; right < n; right++) {
if (nums[right] !== val) {
nums[left] = nums[right];
left++;
}
}
return left;
};展开评论点赞 - var nextGreatestLetter = function(letters, target) {
for(let i=0;i<letters.length;i++){
if(letters[i]>target){
return letters[i]
}
}
return letters[0]
};展开评论点赞 - var reverseList = function(head) {
let cur
let pre=head
let next=pre.next
head.next=null
while(next!=null){
cur=next
next=cur.next
cur.next=pre
pre=cur}
return cur
};展开评论点赞 - var countBits = function(n) {
const bits = new Array(n + 1).fill(0);
let highBit = 0;
for (let i = 1; i <= n; i++) {
if ((i & (i - 1)) == 0) {
highBit = i;
}
bits[i] = bits[i - highBit] + 1;
}
return bits;
};展开评论点赞 - var isPalindrome = function(x) {
let newX
if (x > 0) {
newX = +(x + '').split('').reverse().join('')
if (x == newX) {
return true
} else {
return false
}
} else if (x == 0) {
return true
} else {
return false
}
};展开评论点赞 - 在进行窗口的resize、scroll,输入框内容校验等操作时,如果事件处理函数调用的频率无限制,会加重浏览器的负担,导致用户体验非常糟糕。此时我们可以采用debounce(防抖)和throttle(节流)的方式来减少调用频率,同时又不影响实际效果。评论点赞
- var divideString = function(s, k, fill) {
const str=s.length%k?s.padEnd(k-s.length%k+s.length,fill):s
return new Array(str.length/k).fill(0).map((_,i)=>str.slice(i*k,i*k+k))
};展开评论点赞