关于leetcode:leetCode第28题和第35题实现-strStr搜索插入位置

1.leetCode第28题 实现 strStr
需要:
https://leetcode-cn.com/probl…

给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串呈现的第一个地位(下标从 0 开始)。如果不存在,则返回  -1 
示例 1:
输出:haystack = "hello", needle = "ll"
输入:2

示例 2:
输出:haystack = "aaaaa", needle = "bba"
输入:-1

示例 3:
输出:haystack = "", needle = ""
输入:0
1 看下面的例子首先想到的是应用indexOf办法
function print(haystack, needle) {
    return haystack.indexOf(needle)
};
2 本人实现一个indexOf办法
 function print(haystack, needle) {
    let reg = new RegExp(needle, "g");
    let matchResult = reg.exec(haystack);
    return matchResult ? matchResult["index"] : -1;
  }

2 leetCode第35题 搜寻插入地位

https://leetcode-cn.com/probl…

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按程序插入的地位。
请必须应用工夫复杂度为 O(log n) 的算法。
示例 1:
输出: nums = [1,3,5,6], target = 5
输入: 2

示例 2:
输出: nums = [1,3,5,6], target = 2
输入: 1

示例 3:
输出: nums = [1,3,5,6], target = 7
输入: 4

示例 4:
输出: nums = [1,3,5,6], target = 0
输入: 0

示例 5:
输出: nums = [1], target = 0
输入: 0

function print(nums, target) {
    let index = nums.indexOf(target);
    if (index > -1) return index;
    for (let i = nums.length; i >= 0; i--) {
      if (nums[i] < target) {
        nums.splice(i+1, 0, target);
        index=i+1
        break;
      }
      if(i==0){
        index=0
        nums.unshift(target)
      }
    }
   return index
  }

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理