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。

  • 相关阅读:
    学习Linux shell脚本中连接字符串的方法
    使用 ffmpeg 转换视频格式
    一点不懂到小白的linux系统运维经历分享
    linux利用scp远程上传下载文件/文件夹
    angular ui-select
    JavaScript sort()方法
    js性能优化
    layer弹出层
    JS复制对象
    某天修改了啥bat批处理
  • 原文地址:https://www.cnblogs.com/yangzec/p/3377214.html
Copyright © 2011-2022 走看看