美文网首页
ARTS打卡第三周

ARTS打卡第三周

作者: Mr_码农 | 来源:发表于2019-08-25 09:47 被阅读0次

    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插件 代码自动检测 出现错误标红线等错误提示

    相关文章

      网友评论

          本文标题:ARTS打卡第三周

          本文链接:https://www.haomeiwen.com/subject/shglectx.html