56. 合并区间
解题思路
代码实现
var merge = function(intervals) {
intervals.sort((a,b)=>{
if(a[0] ==b[0]) return a[1]-b[1];
return a[0]-b[0];
})
var res =[];
if(intervals.length===1){
return intervals;
}
for(let i=1;i<intervals.length;i++){
if(intervals[i][0] > intervals[i-1][1]){
var value= intervals[i-1];
res.push([...value]);
}else{
intervals[i][1] = Math.max(intervals[i-1][1],intervals[i][1]);
intervals[i][0] = Math.min(intervals[i-1][0],intervals[i][0]);
}
if(i === intervals.length-1){
var value= intervals[i];
res.push([...value]);
}
}
return res;
};
738.单调递增的数字
解题思路
代码实现
var monotoneIncreasingDigits = function(n) {
var str1 = n +'';
var str = str1.split('');
if(str.length<=1){
return str1 *1;
}
var flag;
for(let i =str.length-1;i>=1;i--){
if(str[i]*1<str[i-1]*1){
str[i-1]= str[i-1]-1;
flag=i;
}
}
for(let i =flag;i<str.length;i++){
str[i] = 9;
}
return Number(str.join(''));
};
968.监控二叉树 (可跳过)
解题思路
代码实现