OBKoro1
OBKoro1
### [博客链接](http://obkoro1.com/web_accumulate/algorithm/medium/%E6%97%A0%E9%87%8D%E5%A4%8D%E5%AD%97%E7%AC%A6%E7%9A%84%E6%9C%80%E9%95%BF%E5%AD%90%E4%B8%B2.html#%E4%BB%A3%E7%A0%81%EF%BC%9A) # 无重复字符的最长子串 # 难度:中等 # 描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 # 样例: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 输入:...
### [博客链接](http://obkoro1.com/web_accumulate/algorithm/simple/%E8%90%BD%E5%8D%95%E7%9A%84%E6%95%B0.html) # 落单的数 # 难度:简单 # 描述: 给出 2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。 # 样例: 给出 [1,2,2,1,3,4,3],返回 4 给出 [7, 10001, 10002, 10003, 10001, 10002, 10003, 10004, 7, 10004, 91985345,...
### [博客链接](http://obkoro1.com/web_accumulate/algorithm/simple/%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%8F%AA%E5%87%BA%E7%8E%B0%E4%B8%80%E6%AC%A1%E7%9A%84%E5%AD%97%E7%AC%A6.html) # 第一个只出现一次的字符 # 难度:简单 # 描述: 给出一个字符串,找出第一个只出现一次的字符。 # 样例: 对于 aabc, b为第一个只出现一次的字符. 对于 abaccdeff, b为第一个只出现一次的字符. # 思路分析: 可以用对象保存字符出现的次数。 # 代码模板: const firstUniqChar = function(str) {}; # 想一想再看答案 #...
### [博客链接](http://obkoro1.com/web_accumulate/algorithm/simple/%E7%9B%B8%E4%BA%B2%E6%95%B0.html) # 相亲数 # 难度:简单 # 描述: 一对整数是相亲数是说他们各自的所有有效因子(除了自己以外的因子)之和等于另外一个数。比如(220, 284)就是一对相亲数。 220 的所有因子:1+2+4+5+10+11+20+22+44+55+110 = 284 284 的所有因子:1+2+4+71+142 = 220 给出整数 k,求 1~k 之间的所有相亲数对。 # 样例: 给出 300, 返回 [[220, 284]] #...
### [博客链接](http://obkoro1.com/web_accumulate/algorithm/simple/%E7%88%AC%E6%A5%BC%E6%A2%AF2.html) # 爬楼梯 2 # 难度:简单 # 描述: 一个小孩爬一个 n 层台阶的楼梯。他可以每次跳 1 步, 2 步 或者 3 步。实现一个方法来统计总共有多少种不同的方式爬到最顶层的台阶 本题跟爬楼梯一毛一样,只是多了可以一次跳三步,所以尽量自己做出来 # 样例: n = 3,1 + 1 + 1 =...
### [博客链接](http://obkoro1.com/web_accumulate/algorithm/simple/%E7%88%AC%E6%A5%BC%E6%A2%AF.html) # 爬楼梯 # 难度:简单 # 描述: 假设你正在爬楼梯,需要 n 步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? # 样例: 比如 n=3,1+1+1=1+2=2+1=3,共有 3 种不同的方法 返回 3 # 思路分析: 这类题我们首先要来找其中的规律,找到了里面的规律,剩下的就好办了。 我再列举出几个结果: 0 =0 0种方法 1 = 1 种方法...
### [博客链接](http://obkoro1.com/web_accumulate/algorithm/simple/%E6%AF%94%E8%BE%83%E5%AD%97%E7%AC%A6%E4%B8%B2.html) # 比较字符串 # 难度:简单 # 描述: 比较两个字符串 A 和 B,确定 A 中是否包含 B 中所有的字符。字符串 A 和 B 中的字符都是 大写字母 # 样例: 给出 A = "ABCD" B = "ACD",返回...
### [博客链接](http://obkoro1.com/web_accumulate/algorithm/simple/%E6%A3%80%E6%B5%8B2%E7%9A%84%E5%B9%82%E6%AC%A1.html) # 检测2的幂次 # 难度:简单 # 描述: 检测整数 n 是否是 2 的幂次 # 样例: n=8,返回 true; n=10,返回 false. # 思路分析: 使用Math.pow()来检测当前值是否为2的幂次 # 代码模板: /** * @param n: An integer...
### [博客链接](http://obkoro1.com/web_accumulate/algorithm/simple/%E6%9C%80%E9%95%BF%E5%8D%95%E8%AF%8D.html) # 数组中的最长单词 # 难度:简单 # 描述: 给一个数组,找出其中所有最长的单词。 # 样例: [ "dog", "google", "facebook", "internationalization", "blabla" ] 最长的单词集合为 ["internationalization"] [ "like", "love", "hate", "yes" ] 最长的单词集合为 ["like", "love", "hate"]...
### [博客链接](http://obkoro1.com/web_accumulate/algorithm/simple/%E6%90%9C%E7%B4%A2%E4%BA%8C%E7%BB%B4%E7%9F%A9%E9%98%B5.html) # 搜索二维矩阵 # 难度:简单 # 描述: 写出一个高效的算法来搜索 m × n 矩阵中的值。 这个矩阵具有以下特性: 每行中的整数从左到右是从小到大排序的。 每行的第一个数大于上一行的最后一个整数。 # 样例: [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34,...