1.给你一个字符串 s,找到 s 中最长的回文子串。
给你一个字符串 s,找到 s 中最长的回文子串。
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
huiwen(s) {
if (s.length < 2) {
return s;
}
let maxLength = 1;
start = 0;
function opt(left, right) {
while (left >= 0 && right < s.length && s[left] == s[right]) {
if (right - left + 1 > maxLength) {
maxLength = right - left + 1;
start = left;
}
left--;
right++;
}
}
for (let i = 0; i < s.length; ++i) {
opt(i, i + 1);
opt(i - 1, i + 1);
}
return s.substring(start, start + maxLength);
}
2.输入:nums = [2,7,11,15], target = 9
解释:因为 nums[2] - nums[0] = 9 ,返回 [0, 2]
3.手写一个new
原型链说明,例如声明一个new函数
4.代码优化:
let handleClick = (status) => {
if (status == 1) {
sendLog('processing')
jumpTo('IndexPage')
} else if (status == 2) {
sendLog('fail')
jumpTo('FailPage')
} else if (status == 3) {
sendLog('fail')
jumpTo('FailPage')
} else if (status == 4) {
sendLog('success')
jumpTo('SuccessPage')
} else if (status == 5) {
sendLog('cancle')
jumpTo('CancelPage')
} else {
sendLog('other')
jumpTo('Index')
}
}
5.实现双向绑定
bd() {
let elems = [document.getElementById('el'), document.getElementById('input')];
let data = {
value: 'hello',
};
let command = {
text: function(str) {
this, (innerHtml = str);
},
value: function(str) {
this.setAttribute('value', str);
},
};
elems[1].addEventListener('keyup', function(e) {
mvSet('value', e.target.value);
});
function mvSet(key, value) {
data[key] = value;
scan();
}
function scan() {
for (let i = 0, len = elems.length; i < len; i++) {
var elem = elems[i];
elem.command = [];
for (let j = 0, len1 = elem.attributes.length; i < len1; j++) {
const attr = elem.attributes[j];
if (attr.nodeName.indexOf('q-') >= 0) {
command[(arrt, nodeName.slice(2).call(elem, data[attr.nodeValues]))];
elem.command.push(attr.nodeName.slice(2));
}
}
}
}
},
\