leetcode
leetcode
皮皮猴我们走
这个作者很懒,什么都没留下…
展开
-
leetcode463题:岛屿的周长
解题方案: var islandPerimeter = function(grid) { let num = 0; let border = 0; for(let i=0;i<grid.length;i++){ var newARR = grid[i]; for(let j=0;j<newARR.length;j++){ if(newARR[j]===1){ num++;原创 2020-10-30 10:47:40 · 151 阅读 · 0 评论 -
leetcode 4题: 寻找两个正序数组的中位数
解题方案: var findMedianSortedArrays = function(nums1, nums2) { var newArr=[]; // 首先把一些特殊情况排除掉:两个数字长度为0或者1的情况 if(nums1.length==1&&nums2.length==1){ return (nums1[0]+nums2[0])/2 } if(nums1.length==0&&nums2.length==0){原创 2020-11-13 16:07:16 · 112 阅读 · 0 评论 -
leetcode1207题:独一无二的出现次数
解题方案: var uniqueOccurrences = function(arr) { const newMap = new Map(); for(let i=0;i<arr.length;i++){ if(newMap.has(arr[i])){ newMap.set(arr[i],newMap.get(arr[i])+1); }else{ newMap.set(arr[i],1);原创 2020-10-28 15:25:24 · 351 阅读 · 0 评论 -
leetcode349题:两个数组的交集
解题方案: var intersection = function(nums1, nums2) { let arr = []; for(let i=0;i<nums1.length;i++){ if(arr.indexOf(nums1[i])==-1){ if(nums2.indexOf(nums1[i])>=0){ arr.push(nums1[i]) } }原创 2020-11-03 17:13:11 · 73 阅读 · 0 评论 -
leetcode 937题:最接近原点的 K 个点
解题方案: var kClosest = function(points, K) { var newArr = [], result=[]; points.map(function(item,index){ newArr.push({ index: index, area: Math.pow(Math.abs(points[index][0]),2)+Math.pow(Math.abs(points[index][1]),2)原创 2020-11-09 10:42:28 · 123 阅读 · 0 评论 -
leetcode 20题:有效的括号
解题方案: var isValid = function(s) { if(s.length%2==1){ // 如果字符串的长度是奇数,那么不可能是有效的括号了 return false; } let arr=[]; // 暂时存储括号 let arr1=['(','[','{']; let arr2={ '(':')', '[':']', '{':'}', }; for(let i原创 2020-11-12 11:12:55 · 115 阅读 · 0 评论 -
leetcode941题:有效的山脉数组
解题方案: var validMountainArray = function(A) { // 处理特殊情况,数组长度小于2 或者从一开始就下降的排除 if(A.length<3||A[0]>A[1]){ return false } var max = 0; var newArr = []; for(let i=0;i<A.length-1;i++){ if(A[i]==A[i+1]){原创 2020-11-03 11:25:51 · 94 阅读 · 0 评论 -
leetcode129题求根到叶子节点数字之和
解题方案: var sumNumbers = function(root) { var num = 0; function addNum(node,num){ if(node==null){ return 0; } var newNum = parseInt(num +'' + node.val); if(node.left==null&&node.right==null){原创 2020-10-29 12:06:47 · 151 阅读 · 0 评论 -
leetcode326:3的幂,342题:4的幂
解题方案:笨递归 var isPowerOfThree = function(n) { if(n==1){ return true; } if(n<1){ return false } var n = n/3; return isPowerOfThree(n) }; 解题思路:用传入的整数一直除以3,知道结果小于等于1,等于1就是3的幂,小于1就不是; ...原创 2020-11-03 17:54:25 · 103 阅读 · 0 评论 -
leetcode 922题: 按奇偶排序数组 II
解题方案: 利用新数组存储数据,双循环解决 var sortArrayByParityII = function(A) { var len = A.length; var newArr = []; let j=0; for(let i=0;i<len;i++){ if(A[i]%2==0){ newArr[j]=A[i]; j=j+2; } } j=1; for(le原创 2020-11-12 11:20:48 · 97 阅读 · 0 评论 -
leetcode3题:无重复字符的最长子串
解题方案: var lengthOfLongestSubstring = function(s) { const newArr = s.split(''); var arr=[],maxLen=0; for(let i=0;i<newArr.length;i++){ var index = arr.indexOf(newArr[i]); arr.push(newArr[i]); if(index==-1){原创 2020-10-28 16:21:31 · 105 阅读 · 0 评论 -
leetcode11题:盛最多水的容器
1、暴力解法: var maxArea = function(height) { let max = 0; for(let i=0;i<height.length;i++){ for(let j=height.length-1;j>i;j--){ let area = height[i]>height[j]?height[j]*(j-i):height[i]*(j-i)原创 2020-10-30 11:31:31 · 156 阅读 · 0 评论 -
leetcode35题:搜索插入位置
1、利用循环暴力搜索: 解题方案: var searchInsert = function(nums, target) { for(let i=0;i<nums.length;i++){ if(nums[i]>=[target]){ return i } } return nums.length }; 2、利用二分查找算法: 解题方案: var searchInsert = function(nums, targe原创 2020-11-05 18:35:30 · 140 阅读 · 0 评论 -
leetcode1356题:根据数字二进制下 1 的数目排序
解题方案: var sortByBits = function(arr) { var getOneLen = function(str){ return str.split('1').length-1 }; var newArr = []; arr.map(function(item,index){ newArr.push({key:item,value: item.toString(2)}) }) newArr.sort(fu原创 2020-11-06 13:23:29 · 100 阅读 · 0 评论 -
leetcode 15题:三数之和,用时击败了5%,内存击败了5% 哈哈哈哈哈哈哈
解题方案:用时击败了5%,内存击败了5% 哈哈哈哈哈哈哈 var threeSum = function(nums) { var arr = new Set();// 用来给二维数组去重 nums.sort(function(a,b){return a-b}); // 给原数组排序 for(let i=0;i<nums.length-2;i++){ if(nums[i]>0) break; // 当最小项已经>0时,就可以跳出循环原创 2020-11-09 16:56:46 · 187 阅读 · 0 评论