- add-two-numbers
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28// 自己写的
var addTwoNumbers = function(l1, l2) {
let numberL1 = ''
let numberL2 = ''
let add=[]
for(let i =0;i<l1.length;i++){
l1[i]= l1[i].toString()
numberL1=numberL1+l1[i]
}
console.log('numberL1',numberL1)
for(let i =0;i<l2.length;i++){
l2[i]= l2[i].toString()
numberL2=numberL2+l2[i]
}
numberL1=Number(numberL1)
numberL2=Number(numberL2)
numberL1 =(numberL1+numberL2).toString()
for(let i = 0;i < numberL1.length;i++){
console.log('numberL1.charAt(i)',numberL1)
add.push(numberL1.charAt(i))
}
console.log('add',add)
// return add.reverse()
};
let l1 = [2,4,3]
let l2 = [5,6,4]
addTwoNumbers(l1,l2)
1 | //题解里luobo大佬提供的思路 :https://leetcode-cn.com/problems/add-two-numbers/solution/liang-shu-xiang-jia-jian-dan-yi-dong-by-luobo-3/ |
- longest-substring-without-repeating-characters
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21// 复杂度较高,且有BUG
var lengthOfLongestSubstring = function(s) {
let tempObject = {}
let tempArray = []
// console.log('11111111')
for(let i = 0;i<s.length-1;i++){
let temp = ''
temp = s.substr(i,1) // 手里拿着对比
nextTemp = s.indexOf(temp, i+1)
// console.log(nextTemp - i)// 长度
s.substr(i,nextTemp-i)
tempObject[nextTemp]=s.substr(i,nextTemp-i)
tempArray.push(nextTemp - i)
console.log(tempObject)
// if(temp === nextTemp){
// }
}
console.log(s)
};
1 | // 作者:LeetCode-Solution |
1 | var lengthOfLongestSubstring = function(s) { |
- median-of-two-sorted-arrays
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32var findMedianSortedArrays = (nums1, nums2) => {
let len1 = nums1.length, len2 = nums2.length
if (len1 > len2) return findMedianSortedArrays(nums2, nums1)
let len = len1 + len2
let start = 0, end = len1
let partLen1, partLen2
while (start <= end) {
partLen1 = (start + end) >> 1
partLen2 = ((len + 1) >> 1) - partLen1
let L1 = partLen1 === 0 ? -Infinity : nums1[partLen1 - 1]
let L2 = partLen2 === 0 ? -Infinity : nums2[partLen2 - 1]
let R1 = partLen1 === len1 ? Infinity : nums1[partLen1]
let R2 = partLen2 === len2 ? Infinity : nums2[partLen2]
if (L1 > R2) {
end = partLen1 - 1
} else if (L2 > R1) {
start = partLen1 + 1
} else { // L1 <= R2 && L2 <= R1
return len % 2 === 0 ?
(Math.max(L1, L2) + Math.min(R1, R2)) / 2 :
Math.max(L1, L2)
}
}
}
//作者:hyj8
//链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/solution/fen-duan-jie-fa-zhen-shi-miao-a-by-hyj8/
//来源:力扣(LeetCode)
//著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1 | var findMedianSortedArrays = (nums1, nums2) => { |
- longest-palindromic-substring
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32var longestPalindrome = function(s) {
// babad
// tag : dp
if (!s || s.length === 0) return "";
let res = s[0];
const dp = [];
// 倒着遍历简化操作, 这么做的原因是dp[i][..]依赖于dp[i + 1][..]
for (let i = s.length - 1; i >= 0; i--) {
dp[i] = [];
for (let j = i; j < s.length; j++) {
if (j - i === 0) dp[i][j] = true;
// specail case 1
else if (j - i === 1 && s[i] === s[j]) dp[i][j] = true;
// specail case 2
else if (s[i] === s[j] && dp[i + 1][j - 1]) {
// state transition
dp[i][j] = true;
}
if (dp[i][j] && j - i + 1 > res.length) {
// update res
res = s.slice(i, j + 1);
}
}
}
//作者:fe-lucifer
//链接:https://leetcode-cn.com/problems/longest-palindromic-substring/solution/hui-wen-wen-ti-dong-tai-gui-hua-jspython5-zui-chan/
//来源:力扣(LeetCode)
//著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1 | var longestPalindrome = function (s) { |