9.14 小米前端笔试

一题没a,66%跟55%!看着不难,怎么坑这么多啊。

第一题:最长公共前缀,没有返回""(空字符串) 真不知道自己哪里错了
例子:['flower','flo','flowee'] 输出:'flo'
思路:先排序,然后以第一个元素的字符串开始 遍历所有字符串相同位置,相同则加上这个位置的字符,不相同就返回已经累加的字符。

var sameHead = function (strs) { 
    // ['flower','flow','flight']
  if(strs.length==1){
    return strs[0]
  }
    strs.sort((a,b)=>a.length-b.length)
    let len = strs[0].length
    let str = ""
    for(let i=0;i<len;i++){
        let j=0
        while(j<strs.length){
            if(strs[j][i]!=strs[0][i]){
                return str
            }
            j++
        }
        str+=strs[0][i]
    }
    return str
}

第二题,打印机,从任意位置开始打印到任意位置结束,每次打印一个字符(小写字母),会覆盖原来位置的字符。返回最小需要打印的次数
输入:‘aaabbb’ 输出:2次 先打印满的a,再从3号位开始打印b
思路:以每个字符为基准,遍历轮训一遍,先去重获取字符串内的字符,再以第一个字符开始。比如第一次打满第一个字符,然后开始找上一个跟现在这个不同 不同则加1。具体看代码。。。感觉自己思路有点问题 希望能有大佬帮忙指正.

var prinMachine = function (str) { 
    // 'aabbabba'
    let nlist = Array.from(new Set(str))
    console.log(nlist)
    let len = nlist.length-1
    let res = new Array(nlist.length).fill(Infinity)
    // 每个都铺满一次
    while(len>=0){
        let path = 1
        // main做为基准铺满字母
        let main = nlist.pop() // b a
        let newstr = main+str // baaabbb  aaaabbb
        let pre = newstr[0] // b a
        for(let j=1;j<newstr.length;j++){
            // path怎么样才+1
            // a a
            if(pre!=newstr[j]&&main!=newstr[j]){
                path++
                pre = newstr[j]
            }
        }
        res[len] = path
        nlist.unshift(main)
        len--
    }
    // console.log(res)
    return Math.min(...res)
}
#小米笔试##前端##小米科技#
全部评论
请问楼主有收到面试吗?我的状态是简历筛选,是已经挂了吗?
点赞 回复 分享
发布于 2022-09-23 16:37 湖北
楼主,请问编程只能用js吗
点赞 回复 分享
发布于 2022-09-19 17:25 云南
hi~同学,秋招遇“寒气”,牛客送温暖啦!23届秋招笔面经有奖征集中,参与就得牛客会员7天免费体验,最高赢300元京东卡!戳我去看>>>https://www.nowcoder.com/link/zhengjipinglun
点赞 回复 分享
发布于 2022-09-16 10:46 北京
第一题是力扣原题哇
点赞 回复 分享
发布于 2022-09-15 15:51 广西
第一题不用排序。两两比较前缀,如果结果为空就可以退出循环了 第二题,我用的递归,找出现次数最多的字符,然后递归中间部分的,但只过了86
点赞 回复 分享
发布于 2022-09-14 22:27 江苏

相关推荐

烤点老白薯:这种东西到时候公众号搜索都有的
点赞 评论 收藏
分享
评论
6
15
分享

创作者周榜

更多
牛客网
牛客企业服务