ARTS示意:
A(Algorithm)算法题
R(Review)阅读并点评一篇英文文章
T(Tip)学习至少一个技术技巧
S(Share)分享一篇有观点和思考的技术文章
中心扩散算法
题目:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
示例 1:
输入: "babad"
输出: "bab"
注意: "aba" 也是一个有效答案。
示例 2:
输入: "cbbd"
输出: "bb"
var longestPalindrome = function(s) {
if(s.length<2) return s;
//不管是双核还是单核,都转化成单核
let arr=[];
for(let i=0;i<s.length;i++){
arr.push(s[i]);
arr.push("#");
}
s=arr;
//中心对称方式查找
let max='';
let len=s.length;
for(let i=0;i<len;i++){
let str=core(s,i-1,i+1);
if(max.length<str.length){
max=str
}
}
//实现中心对称查找
function core(s,l,r) {
while (s[l]&&s[r] && s[l]==s[r]){
l=l-1;
r=r+1;
}
return s.slice(l+1,r); //可从已有的数组中返回选定的元素
}
//把数组中的所有元素放入一个字符串 去除附加字符后的结果返回
return max.join("#").replace(/#/g,"");
};
R&T
Mock.js 生成随机数据,拦截 Ajax 请求
安装
npm install mockjs
使用 Mock
var data = Mock.mock({
// 属性 list 的值是一个数组,其中含有 1 到 10 个元素
'list|1-10': [{
// 属性 id 是一个自增数,起始值为 1,每次增 1
'id|+1': 1
}]
})
// 输出结果
console.log(JSON.stringify(data, null, 4))
MockJS 基础语法
// 获取所随机数量的字符串
Mock.mock({
"string|1-10": "★"
})
// 输出结果
{
"string": "★★★★★★★★★"
}
// 获取随机数
Mock.mock({
"number|1-100": 100
})
// 输出结果
{
"number": 7
}
// 获取随机对象
Mock.mock({
"object|2": {
"310000": "上海市",
"320000": "江苏省",
"330000": "浙江省",
"340000": "安徽省"
}
})
// 运行结果
{
"object": {
"320000": "江苏省",
"330000": "浙江省"
}
}
// 获取数组中随机的一个值
Mock.mock({
"array|1": [
"AMD",
"CMD",
"UMD"
]
})
// 运行结果
{
"array": "CMD"
}
// 正则表达式 随机输出
Mock.mock({
'regexp': /[a-z][A-Z][0-9]/
})
// 输出结果
{
"regexp": "cR9"
}
// Random.date()
Random.date()
Mock.mock('@date')
Mock.mock('@date()')
// Random.date( format )
Random.date('yyyy-MM-dd')
Random.date('yy-MM-dd')
Random.date('y-MM-dd')
Random.date('y-M-d')
Mock.mock('@date("yyyy-MM-dd")')
Mock.mock('@date("yy-MM-dd")')
Mock.mock('@date("y-MM-dd")')
Mock.mock('@date("y-M-d")')
Mock.mock('@date("yyyy yy y MM M dd d")')
// Random.date() 运行结果
"1978-11-21"
"2000-01-17"
"1983-01-23"
// Random.date( format )
"1985-04-17"
"77-05-30"
"75-03-24"
"11-8-8"
"1990-06-01"
"11-09-27"
"81-04-10"
"99-11-29"
"1976 76 76 05 5 25 25"
// Random.time() 时分秒
Random.time()
Mock.mock('@time')
Mock.mock('@time()')
// Random.time( format )
Random.time('A HH:mm:ss')
Random.time('a HH:mm:ss')
Random.time('HH:mm:ss')
Random.time('H:m:s')
Mock.mock('@time("A HH:mm:ss")')
Mock.mock('@time("a HH:mm:ss")')
Mock.mock('@time("HH:mm:ss")')
Mock.mock('@time("H:m:s")')
Mock.mock('@datetime("HH H hh h mm m ss s SS S A a T")')
// Random.time() 输出结果
"23:45:47"
"22:02:10"
"09:04:25"
// Random.time( format )
"PM 20:47:38"
"pm 23:38:13"
"12:29:34"
"22:40:7"
"AM 00:37:50"
"am 11:04:01"
"04:26:26"
"15:51:13"
"13 13 01 1 48 48 43 43 034 34 PM pm 204356923034"
// 随机城市
Random.county()
Mock.mock('@county')
Mock.mock('@county()')
// Random.county( prefix )
Random.county(true)
Mock.mock('@county(true)')
// Random.county() 输出结果
"民勤县"
"长寿区"
"扎赉诺尔区"
// Random.county( prefix )
"贵州省 黔东南苗族侗族自治州 麻江县"
"云南省 保山市 其它区"
……更多API,请参考MockJs
S(分享)
设计网站
站酷
UI中国
红动中国
……
编辑器
VScode 微软出的一款良心编辑器,真心好用,个人比较喜欢
VScode插件 大牛整理的一些插件
VScode插件 代码自动检测 出现错误标红线等错误提示
网友评论