[415. 字符串相加](415. 字符串相加 - 力扣(LeetCode))
数组转化为字符串
arr.join('')
空值合并运算符
字符串->数字
题解
得到数组/字符串长度
// let len1 = text1.size(); //C++
// let len2 = text2.size();
const len1 = text1.length, len2 = text2.length;
[165. 比较版本号](165. 比较版本号 - 力扣(LeetCode))
let s ="1.001"
let a = s.split('.')
console.log(a); // [ '1', '001' ]
console.log(a[1]); // 001
console.log(+a[1]); // 1
题解
/**
* @param {string} version1
* @param {string} version2
* @return {number}
*/
var compareVersion = function(version1, version2) {
let arr1 = version1.split('.') , arr2 = version2.split('.') , i = 0 , j = 0
while(i < arr1.length || j < arr2.length){
let index1 = +(arr1[i] ?? 0 ), index2 = +(arr2[j] ?? 0)
if(index1 < index2){
return -1
}else if(index1 > index2){
return 1
}else{
i++
j++
}
}
return 0
};
704. 二分查找
<< >>
// mid = (l + r)/2 //小数
mid = (l + r) >> 1; //整数
const dp = Array(amount + 1).fill(1 << 30);
题解
/**
* @param {number[]} nums
* @param {number} target
* @return {number}
*/
var search = function(nums, target) {
let l = 0 , r = nums.length - 1 , mid , midNum
while(l <= r){ //数组长度为1时,需要取等号
// mid = (l+r)/2
mid = (l + r) >> 1;
midNum = nums[mid]
if(midNum < target) l = mid+1
else if(midNum > target) r = mid-1
else return mid
}
return -1
};
88. 合并两个有序数组
数组sort排序方法
numbers.sort(); // 默认排序(按照字符串Unicode码点排序)
numbers.sort((a, b) => a - b); // 按照数字大小排序
本地运行没有问题,但是力扣上编译器过不了的题解
/**
* @param {number[]} nums1
* @param {number} m
* @param {number[]} nums2
* @param {number} n
* @return {void} Do not return anything, modify nums1 in-place instead.
*/
var merge = function(nums1, m, nums2, n) {
let i = 0 , j = 0 ;
let temp = []
while(i < m && j < n){
if(nums1[i] <= nums2[j]){
temp.push(nums1[i]);
i++;
}else if(nums1[i] > nums2[j]){
temp.push(nums2[j]);
j++;
}
}
//长度有剩余的情况
while(i < m){
temp.push(nums1[i])
i++;
}
while(j < n){
temp.push(nums2[j])
j++;
}
nums1 = temp.slice()
};
题解
/**
* @param {number[]} nums1
* @param {number} m
* @param {number[]} nums2
* @param {number} n
* @return {void} Do not return anything, modify nums1 in-place instead.
*/
var merge = function(nums1, m, nums2, n) {
for(let i = 0 ; i < n ; i ++){
nums1[i+m] = nums2[i]
}
nums1.sort((a, b) => a - b);
};
20. 有效的括号
const map = {
')':'(',
'}':'{',
']':'['
}