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。

  • 相关阅读:
    DS博客作业01--日期抽象数据类型设计与实现
    C语言-第6次作业
    C语言-第5次作业
    C语言--第4次作业
    DS博客作业08--课程总结
    DS博客作业07--查找
    DS博客作业06--图
    DS博客作业05--树
    DS博客作业03--栈和队列
    DS作业01--日期抽象数据类型设计与实现
  • 原文地址:https://www.cnblogs.com/yangzec/p/3377214.html
Copyright © 2011-2022 走看看