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 }