随笔分类 -  Leetcode

摘要:方法一:思维定势,直接想到用栈 (比较蠢 5.09% 与 30.88%) var isPalindrome = function(s) { s = s.replace(/[^0-9a-zA-Z]/g, '').toLowerCase() const stack = [], len = s.lengt 阅读全文
posted @ 2020-10-16 00:51 rencoo 阅读(200) 评论(0) 推荐(0)
摘要:一、复杂度的表示方式 大O表示法,其中T代表的是算法需要执行的总时间,S表示的是算法需要的总空间 f(n)表示的是代码执行的总次数 T(n) = O(f(n)) S(n) = O(f(n)) 举个例子 function go(n) { var item = 0; //这里执行了一次 for (var 阅读全文
posted @ 2020-08-15 00:54 rencoo 阅读(1186) 评论(0) 推荐(0)
摘要:桶排序 典型案例:arr1 [ 1, 2, 5, 2, 1, 8, 9, 5, 2, 8, 9, 10] 按照 arr2 [1, 5, 9, 8, 2, 10]的顺序排序 结果: [1,1,5,5,9,9,8,8,2,2,2,10] 思路: function solution(arr1, arr2) 阅读全文
posted @ 2020-07-26 17:17 rencoo 阅读(341) 评论(0) 推荐(0)
摘要:给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。 如果不能形成任何面积不为零的三角形,返回 0。 示例输入:[3,6,2,3]输出:8 代码 var largestPerimeter = function(A) { if (A.length < 3) 阅读全文
posted @ 2020-07-26 17:04 rencoo 阅读(391) 评论(0) 推荐(0)
摘要:一、不使用额外空间 思路:随机交换 Array.prototype.shuffle = function () { var array = this; for (var i = array.length - 1; i >= 0; i--) { var randomIndex = Math.floor 阅读全文
posted @ 2019-11-28 12:52 rencoo 阅读(2500) 评论(0) 推荐(0)
摘要:方式一: 算法实现 function getThousand (numStr) { if (numStr.length < 4) return numStr; let len = numStr.length; let restLen = len % 3; // 千分位划分余下的位数 let arr  阅读全文
posted @ 2019-10-15 00:40 rencoo 阅读(1251) 评论(0) 推荐(0)
摘要:案例一:Leetcode 28.实现 strStr() 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack = "hello", ne 阅读全文
posted @ 2019-05-03 13:40 rencoo 阅读(364) 评论(0) 推荐(0)
摘要:1/** 2 * @param {string[]} emails 3 * @return {number} 4 */ 5var numUniqueEmails = function(emails) { 6 const arr = emails.map(val => 7 (val.split('@' 阅读全文
posted @ 2018-12-18 16:24 rencoo 阅读(315) 评论(0) 推荐(0)
摘要:1/** 2 * @param {number[]} A 3 * @return {boolean} 4 */ 5var isMonotonic = function(A) { 6 return isDesc(A) || isAsce(A); 7}; 8 9var isDesc = function 阅读全文
posted @ 2018-12-18 16:23 rencoo 阅读(197) 评论(0) 推荐(0)
摘要:1// 整数 0、 1 和 2 分别表示红色、白色和蓝色 2/** 3 * @param {number[]} nums 4 * @return {void} Do not return anything, modify nums in-place instead. 5 */ 6var sortCo 阅读全文
posted @ 2018-12-18 16:22 rencoo 阅读(423) 评论(0) 推荐(0)
摘要:1/** 2 * @param {number[]} A 3 * @return {number[]} 4 */ 5// 6var sortArrayByParityII = function(A) { 7 let even = A.filter(value => value % 2 0); 8 l 阅读全文
posted @ 2018-12-18 16:19 rencoo 阅读(226) 评论(0) 推荐(0)
摘要:1// 905. 按奇偶排序数组 2/** 3 * @param {number[]} A 4 * @return {number[]} 5 */ 6var sortArrayByParity = function(A) { 7 return A.filter(value => value % 2 阅读全文
posted @ 2018-12-18 16:17 rencoo 阅读(149) 评论(0) 推荐(0)
摘要:1/** 2 * @param {number[]} nums 3 * @return {number[]} 4 */ 5var findDuplicates = function(nums) { 6 nums.sort((a,b) => a - b); 7 8 for (let i = 0; i  阅读全文
posted @ 2018-12-18 16:16 rencoo 阅读(196) 评论(0) 推荐(0)
摘要:1/** 2 * @param {string} S 3 * @param {string} T 4 * @return {string} 5 */ 6var customSortString = function(S, T) { 7 let r= ''; 8 for (let i = 0, l = 阅读全文
posted @ 2018-12-18 16:13 rencoo 阅读(237) 评论(0) 推荐(0)
摘要:1/** 2 * @param {string} S 3 * @return {string} 4 */ 5var reverseOnlyLetters = function(S) { 6 let reverseArr = [...S].filter(item => /[A-Za-z]/.test( 阅读全文
posted @ 2018-12-18 16:10 rencoo 阅读(200) 评论(0) 推荐(0)
摘要:1/** 2 * @param {string} s 3 * @param {string} t 4 * @return {string} 5 */ 6 7var findTheDifference = function(s, t) { 8 var t1 = t.split('').sort(); 阅读全文
posted @ 2018-12-18 16:08 rencoo 阅读(132) 评论(0) 推荐(0)
摘要:1/** 2 * Initialize your data structure here. 3 */ 4var MyHashMap = function() { 5 // 创建数组 6 let MyHashMap = []; 7}; 8 9/**10 * value will always be n 阅读全文
posted @ 2018-12-18 16:06 rencoo 阅读(350) 评论(0) 推荐(0)
摘要:1/** 2 * @param {number[]} nums 3 * @return {number} 4 */ 5 6var singleNumber = function(nums) { 7 const record = {}; 8 nums.forEach(value => { 9 reco 阅读全文
posted @ 2018-12-18 16:05 rencoo 阅读(180) 评论(0) 推荐(0)
摘要:1/** 2 * @param {string} s 3 * @return {string} 4 */ 5var frequencySort = function(s) { 6 const record = {}; 7 const sArr = [...s]; 8 sArr.forEach(val 阅读全文
posted @ 2018-12-18 16:03 rencoo 阅读(232) 评论(0) 推荐(0)
摘要:1/** 2 * @param {string[]} words 3 * @return {string[]} 4 */ 5var findWords = function(words) { 6 let rows = ['qwertyuiop', 'asdfghjkl', 'zxcvbnm']; 7 阅读全文
posted @ 2018-12-18 16:01 rencoo 阅读(148) 评论(0) 推荐(0)