随笔分类 - Leetcode
摘要:方法一:思维定势,直接想到用栈 (比较蠢 5.09% 与 30.88%) var isPalindrome = function(s) { s = s.replace(/[^0-9a-zA-Z]/g, '').toLowerCase() const stack = [], len = s.lengt
阅读全文
摘要:一、复杂度的表示方式 大O表示法,其中T代表的是算法需要执行的总时间,S表示的是算法需要的总空间 f(n)表示的是代码执行的总次数 T(n) = O(f(n)) S(n) = O(f(n)) 举个例子 function go(n) { var item = 0; //这里执行了一次 for (var
阅读全文
摘要:桶排序 典型案例: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)
阅读全文
摘要:给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。 如果不能形成任何面积不为零的三角形,返回 0。 示例输入:[3,6,2,3]输出:8 代码 var largestPerimeter = function(A) { if (A.length < 3)
阅读全文
摘要:一、不使用额外空间 思路:随机交换 Array.prototype.shuffle = function () { var array = this; for (var i = array.length - 1; i >= 0; i--) { var randomIndex = Math.floor
阅读全文
摘要:方式一: 算法实现 function getThousand (numStr) { if (numStr.length < 4) return numStr; let len = numStr.length; let restLen = len % 3; // 千分位划分余下的位数 let arr
阅读全文
摘要:案例一:Leetcode 28.实现 strStr() 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack = "hello", ne
阅读全文
摘要:1/** 2 * @param {string[]} emails 3 * @return {number} 4 */ 5var numUniqueEmails = function(emails) { 6 const arr = emails.map(val => 7 (val.split('@'
阅读全文
摘要:1/** 2 * @param {number[]} A 3 * @return {boolean} 4 */ 5var isMonotonic = function(A) { 6 return isDesc(A) || isAsce(A); 7}; 8 9var isDesc = function
阅读全文
摘要:1// 整数 0、 1 和 2 分别表示红色、白色和蓝色 2/** 3 * @param {number[]} nums 4 * @return {void} Do not return anything, modify nums in-place instead. 5 */ 6var sortCo
阅读全文
摘要: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
阅读全文
摘要:1// 905. 按奇偶排序数组 2/** 3 * @param {number[]} A 4 * @return {number[]} 5 */ 6var sortArrayByParity = function(A) { 7 return A.filter(value => value % 2
阅读全文
摘要: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
阅读全文
摘要: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 =
阅读全文
摘要:1/** 2 * @param {string} S 3 * @return {string} 4 */ 5var reverseOnlyLetters = function(S) { 6 let reverseArr = [...S].filter(item => /[A-Za-z]/.test(
阅读全文
摘要: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();
阅读全文
摘要:1/** 2 * Initialize your data structure here. 3 */ 4var MyHashMap = function() { 5 // 创建数组 6 let MyHashMap = []; 7}; 8 9/**10 * value will always be n
阅读全文
摘要:1/** 2 * @param {number[]} nums 3 * @return {number} 4 */ 5 6var singleNumber = function(nums) { 7 const record = {}; 8 nums.forEach(value => { 9 reco
阅读全文
摘要:1/** 2 * @param {string} s 3 * @return {string} 4 */ 5var frequencySort = function(s) { 6 const record = {}; 7 const sArr = [...s]; 8 sArr.forEach(val
阅读全文
摘要:1/** 2 * @param {string[]} words 3 * @return {string[]} 4 */ 5var findWords = function(words) { 6 let rows = ['qwertyuiop', 'asdfghjkl', 'zxcvbnm']; 7
阅读全文

浙公网安备 33010602011771号