Ruby's Louvre

每天学习一点点算法

导航

2019年12月15日 #

leetcode 44. Wildcard Matching

摘要: 以后再看 阅读全文

posted @ 2019-12-15 22:05 司徒正美 阅读(362) 评论(1) 推荐(1) 编辑

leetcode 41. First Missing Positive

摘要: 看不懂1 阅读全文

posted @ 2019-12-15 21:45 司徒正美 阅读(216) 评论(0) 推荐(0) 编辑

leetcode 50. Pow(x, n)

摘要: 这真的考数学。。。 javascript var myPow = function(x, n) { if (n===0) return 1; let pow = Math.abs(n); let result = pow%2===0 ? myPow(x x,pow/2) : myPow(x x,(p 阅读全文

posted @ 2019-12-15 21:21 司徒正美 阅读(308) 评论(0) 推荐(0) 编辑

leetcode 49. Group Anagrams

摘要: 需要用到素数表,我们需要将字母转换成素数 阅读全文

posted @ 2019-12-15 21:11 司徒正美 阅读(236) 评论(0) 推荐(0) 编辑

leetcode 48. Rotate Image

摘要: 反转一个图片 需要认真观察其规律 javascript / [0, 0] [0, 3] [0, 1] [1, 3] [1, 0] [0, 2]//4 1 1 [i, j] [j, n i 1]//4 0 1 / var rotate = function(matrix) { var n = matr 阅读全文

posted @ 2019-12-15 20:32 司徒正美 阅读(219) 评论(0) 推荐(0) 编辑

leetcode 46. Permutations

摘要: 全排列,使用回溯法 javascript var permute = function (nums) { if (!Object(nums).length) { return []; } var result = [], condidate = [], n = nums.length, hash = 阅读全文

posted @ 2019-12-15 19:17 司徒正美 阅读(207) 评论(0) 推荐(0) 编辑

leetcode 43. Multiply Strings

摘要: 注意各种反转 javascript var multiply = function (a, b) { var cn = a.length + b.length; var product = new Array(cn).fill(0); / 两两相乘,并放进不同的格子里,如果里面有东西,则相加 num 阅读全文

posted @ 2019-12-15 19:09 司徒正美 阅读(178) 评论(0) 推荐(0) 编辑

leetcode 37. Sudoku Solver

摘要: 好难,没几个月就忘记了 javascript function solveSudoku(board) { var result = [] function backtrack(x, y) { if (x == 9) { //打印所有 board.forEach(function (row) { r 阅读全文

posted @ 2019-12-15 15:37 司徒正美 阅读(236) 评论(0) 推荐(0) 编辑

leetcode 36. Valid Sudoku

摘要: 数独 javascript function isValidSudoku(board) { var rows = []//行 var cols = [] // 列 var cubes = []//9宫格 for (var i = 0; i 阅读全文

posted @ 2019-12-15 14:53 司徒正美 阅读(154) 评论(0) 推荐(0) 编辑

leetcode 35. Search Insert Position

摘要: 参考这里https://leetcode.wang/leetCode 35 Search Insert Position.html, 需要想到最简单的处理情况,如果数组只剩下 2 5,target 是 1, 3, 6 的时候,此时我们应该返回什么就行。 阅读全文

posted @ 2019-12-15 14:43 司徒正美 阅读(256) 评论(0) 推荐(0) 编辑

leetcode 34. Find First and Last Position of Element in Sorted Array

摘要: 又是二分查找 javascript var searchRange = function (nums, target) { var left = 0, right = nums.length 1; while (left 1); if (nums[mid] == target) { //开始三个分支 阅读全文

posted @ 2019-12-15 14:20 司徒正美 阅读(122) 评论(0) 推荐(0) 编辑

leetcode 33. Search in Rotated Sorted Array

摘要: 理解数组长成什么样是非常重要 阅读全文

posted @ 2019-12-15 14:13 司徒正美 阅读(154) 评论(0) 推荐(0) 编辑

leetcode 32. Longest Valid Parentheses

摘要: 难题 阅读全文

posted @ 2019-12-15 13:48 司徒正美 阅读(202) 评论(0) 推荐(0) 编辑

leetcode 28. Implement strStr()

摘要: 就是实现indexOf javascript var strStr = function (haystack, needle) { if (!needle || haystack == needle) {//'' ,''或 'a' ,'' return 0 } var n = haystack.le 阅读全文

posted @ 2019-12-15 12:45 司徒正美 阅读(171) 评论(0) 推荐(0) 编辑

leetcode 27. Remove Element

摘要: 移除给定的元素,可能移除多个,返回数组的长度 不使用splice javascript var removeElement = function (nums, val) { let n = nums.length, removeCount = 0, changeableLen = n; for (l 阅读全文

posted @ 2019-12-15 11:11 司徒正美 阅读(175) 评论(0) 推荐(0) 编辑

leetcode 26. Remove Duplicates from Sorted Array

摘要: 原地移除元素,返回新长度 javascript const removeDuplicates = nums = { let index = 1; for (let i = 0; i 阅读全文

posted @ 2019-12-15 02:02 司徒正美 阅读(150) 评论(0) 推荐(0) 编辑

leetcode 24. Swap Nodes in Pairs

摘要: 对链表的相邻节点两两交换 数组方法构建 javascript var swapPairs = function(node) { var nodes = [], dummy = new ListNode, prev = dummy var map = {}, index = 0 while(node) 阅读全文

posted @ 2019-12-15 01:37 司徒正美 阅读(220) 评论(0) 推荐(0) 编辑

leetcode 22. Generate Parentheses

摘要: 生成多重括号,使用回溯法试探所有组合 javascript function generateParenthesis(n) { // Write your code here var res = [], condidate = [] function backtrack(n, left, right 阅读全文

posted @ 2019-12-15 01:21 司徒正美 阅读(238) 评论(0) 推荐(0) 编辑

leetcode 21. Merge Two Sorted Lists

摘要: 合并两个已经排好序的链表,注意需要用已有的节点组成新链表。这题与第4题很相似。 合并两个数组如下 javascript var newArray = [] function merge(el) { newArray.push(el) } while (true) { if (nums1[a] 阅读全文

posted @ 2019-12-15 01:01 司徒正美 阅读(247) 评论(0) 推荐(0) 编辑

leetcode 20. Valid Parentheses

摘要: 判定括号是否合法,这是栈的应用 var isValid = function (s) { if (string.length % 2 !== 0 ) return false; //必须是偶数 var stack = [] var map = { '[': ']', '{': '}', '(': ' 阅读全文

posted @ 2019-12-15 00:46 司徒正美 阅读(175) 评论(0) 推荐(0) 编辑