zoukankan      html  css  js  c++  java
  • 【Javascript】 字符串替换算法 / 查找数组中枢

    思考之前先来杯coffee

    --------------------------------------------------------------------------------

    面试题:

    一、字符串替换算法

    一个字符串str="abcabcabc";

    要查询的字符串src="ab";

    替换的字符串tar="xyz";

    思路:

    新建一个字符串result

    在str中分别对src的每一位进行匹配:

    1>若全匹配,则添加到result中

    2>若不全匹配,则对str后移一位进行匹配查询

    返回result

    返回:"aabxyzDcabDacxyzDabaxyz"

    二、查找数组中枢

    给定一个数组:arr=[1,2,4,5,7,19,20,30,24,21,3];

    它有如下规律:先增后减,找出它的临界点(即最大值),如例子中的30,要求不要用暴力算法。

    思路:

    用二分法:

    临界点的特征是:自身和左边的差值为正((a[n]-a[n-1])>0),和右边的差值为负((a[n+1]-a[n])<0)。

    若这两个差值极性相反,则当前指向为所求,若极性相同:

    1>当自身和左边的差值为正((a[n]-a[n-1])>0),所求的临界点在右边。

    2>当自身和右边的差值为负((a[n+1]-a[n])<0),所求的临界点在左边。

    注意Javascript中,类似9/2 的分子式,结果为4.5,不是4。所以要利用Math.floor()

    返回:29。

  • 相关阅读:
    Qt 配置fakevim
    CentOS安装Ruby组件
    Linux shell 操作 postgresql,并设置crontab任务
    修改win7锁定界面背景
    Ubuntu安装Redis
    Java 向SQL Server插入文件数据
    用VMware vSphere Client客户端登陆vsphere5提示错误
    DD应用实例
    shell初学
    deepin2014.1快捷键
  • 原文地址:https://www.cnblogs.com/yangzec/p/3377214.html
Copyright © 2011-2022 走看看