前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

QA

作者头像
yuezhongbao
发布2019-03-13 15:34:09
7750
发布2019-03-13 15:34:09
举报
文章被收录于专栏:前端实习日记
图片描述
图片描述
代码语言:javascript
复制
let s = "This is C programming text";
let t = "This is a text for C programming";
   
//时间复杂度:O(n^2)
//空间复杂度:O(1)
function f1(str1,str2,r){
    let arr1 = str1.split(" "),
    arr2 = str2.split(" "),
    res = [];
    if(r>Math.min(arr1.length,arr2.length)||r<1)return null;
    //思路:1找出公共数组
    for(let i=0;i<arr1.length;i++){
        if(arr2.indexOf(arr1[i])===-1){
            arr1.splice(i,1);
            i--;
        }
    }

    //2只保留第一个碰到的
    arr1.forEach(item => {
        if(!res[item.length]){
            res[item.length] = item
        }
    });

    //3剩下的排序
    res.sort((a,b)=>a.length<b.length);
    return res[r-1] ? res[r-1] : null;
}
图片描述
图片描述
代码语言:javascript
复制
//穷举法
//时间复杂度:O(n^2)
//空间复杂度:O(1)
function fn(num){
    let res = [];
    //找到符合条件的首个数字i和项数n
    for(let i = 1;i<num/2;i++){
    
        for(let n = 1;;n++){
            if((2*i+n)*(n+1)/2===num){
                res.push([i,n])    
            }
            if((2*i+n)*(n+1)/2>num){
                break
            }
        }
    };
    //输出
    if(res.length>0){
        let output = "";
        res.forEach(item=>{
            for(var i = 0;i<=item[1];i++){
                output+=item[0]+++' ';
            }
            output+="\n";
        })
        return output;
    }else{
        return "NONE";
    }
    }
图片描述
图片描述

1.链接:https://yzbaoo.github.io/resume/ 项目地址:https://github.com/yzbaoo/resume 2.链接:https://yzbaoo.github.io/Trav... 项目地址:https://github.com/yzbaoo/Tra...

代码语言:javascript
复制
红色:去过
绿色:计划去
功能点1:右键map添加计划
功能点2:右键未完成计划可更改完成状态和删除计划
功能点3:已去过的省份不可再次添加计划
功能点4:鼠标hover显示时间和备注
思路:
1.mockdata:
        var dataSource = [
            {
                province:"黑龙江省",
                point:{lng: 129.466081, lat: 44.625683},
                desc:"my hometown",
                time:"2018-7-5",
                type:0,//0:去过,1:计划去
            },{
                province:"辽宁省",
                point:{lng: 124.535605, lat: 41.979285},
                desc:"2015年4月",
                time:"2018-7-5",
                type:0,//0:去过,1:计划去
            },{
                province:"北京市",
                point:{lng: 116.146438, lat: 39.77318},
                desc:"Dream start!",
                time:"2018-7-5",
                type:0,//0:去过,1:计划去
            },{
                province:"四川省",
                point:{lng: 107.131762, lat: 30.083521},
                desc:"计划今年十一去嗨!!",
                time:"2018-7-5",
                type:1,//0:去过,1:计划去
            }
        ]; 
    2.编写renderMark方法,实现data驱动ui变化 
//渲染函数    
function renderMark(){
    map.clearOverlays();
    dataSource.forEach((d,i)=>{
        //渲染mark
        var marker = new BMap.Marker(d.point,{
            icon: new BMap.Symbol(BMap_Symbol_SHAPE_STAR, {
                scale: 2,
                fillColor: d.type===0 ? "red" : "#51C332",
                fillOpacity: 0.8,
                strokeColor:"#fff",
            })
        }); 
        map.addOverlay(marker);             
        marker.setAnimation(d.type===0 ? BMAP_ANIMATION_DROP : BMAP_ANIMATION_BOUNCE); //动画
        //渲染title
        var title = "时 间: " + d.time + "\n\r" + "描 述: " + d.desc;
        marker.setTitle(d.type===0 ? "已占领"+ "\n\r" +title:"计划"+ "\n\r" +title);
        //为type=1的mark绑定右键编辑事件
        if(d.type===1){
            var menu = new BMap.ContextMenu();
            var txtMenuItem = [
                {
                    text:'标记完成',
                    callback:function(i){
                        dataSource[i].type=0;
                        renderMark()
                    }
                },{
                    text:'删除计划',
                    callback:function(i){
                        dataSource.splice(i,1);
                        renderMark()
                    }
                }

            ];
            txtMenuItem.forEach(d2=>{
                menu.addItem(new BMap.MenuItem(d2.text,d2.callback.bind(this,i),100));
            })
            marker.addContextMenu(menu);
        }
    })
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-09-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档