![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
学习前端甲骨文的过程
β GO
起风了,唯有努力生存
展开
-
算法-无重复字符的最长子串
给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。 var lengthOfLongestSubstring = function(s) { // 哈希集合,记录每个字符是否出现过 const occ = new Set(); // 总长度 const n = s.length; // 右指针,初始值为 -1,相当于我们在字符串的左边界的左侧,还没有开始移动 let rk = -1, ans = 0; for (let i = ...转载 2021-09-26 09:01:16 · 107 阅读 · 0 评论 -
算法-两数之和
给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 var twoSum = function (nums, target) { // map用于存需要的下标 let hash = {}; for (let i = 0; i < nums.length; i++) { ...转载 2021-09-23 08:51:58 · 47 阅读 · 0 评论 -
串联所有单词的子项
给定一个字符串 s 和一些长度相同的单词 words。 找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置 注意子串要与 words 中的单词完全匹配,中间不能有其他字符,不需要考虑 words 中单词串联的顺序。 思路: 1. 用哈希表记录 words 中有哪些单词,以及出现的次数(检查每个s 子串时,哈希表都是新的)。 2. 遍历一个s的子串,将其截成一个个单词的长度,去哈希表中查询。 3. 如果出现在子串中的单词能在哈希表中找到,就将...原创 2021-09-02 11:25:50 · 41 阅读 · 0 评论