资讯专栏INFORMATION COLUMN

看到别人的面试题就忍不住做了一下

HtmlCssJs / 3327人阅读

摘要:设计一个函数实现。复杂度为的长度为的长度为谢谢指出错误这是我旧的代码参考将复杂度降低谢谢行政的建议这是提出的解法,让我发现了新大陆,跟大家分享一下

失恋了就专心写代码。

1. 设计一个plus函数、实现plus(1)(2)()=3、plus(1)(2)(3)()=6。

今天去深入学习了一下柯里化,写了个柯里化的装饰器,了解请到https://segmentfault.com/a/11...

// 虽然实现了,这并不是好的实现方式,更好见我上面链接
function plus(a){
  function g(b) {
    if(b === undefined) {
      return a
    }
    a+=b;
    return g
  }
  return g
}
  
2. 存在字符串str1、str。找出a是否包含在b中,如果包含多个返回第一个位置,没有包含则返回-1.如:str1="123" str2="4512356123" 则返回2。不能使用indexOf、substr等。
// 复杂度为n-m(str1的长度为n,str2的长度为m)
function t(str1, str2) {
    let a = -1
    if(!str1.length && str1.length > str2.length) {  // 谢谢@JarryChung指出错误
      return a
    }else {
    /**  这是我旧的代码
    let arr_a = str1.split("")
      let arr_b = str2.split("")
      const len = arr_b.length-arr_a.length
      for(let i = 0; i <= len; i++) {  // 参考KMP将复杂度降低m,谢谢 @行政 的建议
        if(arr_b[i] === arr_a[0] && arr_b.slice(i, i + arr_a.length).join("") === str1) {
          a = i
          break
        }
      }
    }
    */
    // 这是 @NrightCc 提出的解法,让我发现了新大陆,跟大家分享一下
        const arr = str2.split(str1);
        if(arr.length>1){
            a = arr[0].length
        }
        
        
        return a
  }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/102701.html

相关文章

  • 如何招聘一名优秀前端

    摘要:如何考察一个人是不是经验丰富我们需要在问答式的面试中,对其项目经验进行挖掘。如何设置笔试题现在网上有大量的面经的存在,对于我们面试是一个巨大的挑战。尊重应聘者我们要尊重每一个来应聘的人,不要轻视别人,或者故意刁难别人。 时光荏苒,2个月前,我才刚总结了如何应对面试官,现在的我开始总结如何面试别人了。笑哭.png 1.我们需要什么样的人 招聘肯定要有标准,这样我们才能更快的找到我们需要的...

    Mr_houzi 评论0 收藏0
  • 奋战金九银十?刷完这一套面试题就够了!自动化软件测试工程师跳槽涨薪秘籍!

    摘要:九安卓中如何取出日志信息把安卓系统日志信息实时导入到本地运行使用某个,实时获取该的日志信息里面的返回信息接口自动化面试题一按你的理解,软件接口是什么答就是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数。 ...

    Freelander 评论0 收藏0
  • 【专栏第一篇】分享实用美国求职,面试经历,技巧,以及超实用网站

    摘要:目前是刚到美国个多月,分享在美国求职的经历,目前已有面试进入背调阶段,把我期间的准备分享给大家。国内说到关系,大多是负面的,但是美国这边叫,他们确实对这个很推崇的。 前言:先自我介绍一下,我是新晋前端小白白,15年毕业之后,在相关领域工作3年,但一直都在自我提升阶段。目前是刚到美国2个多月,分享在美国求职的经历,目前已有面试进入背调阶段,把我期间的准备分享给大家。愿同道中人共同进步!有...

    smallStone 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<