leetcode
雨浅听风吟
这个作者很懒,什么都没留下…
展开
-
剑指offer3 数组中重复的数字-vector初始化-类应用
这里值得注意的是交换值要先进行 temp=nums[nums[i]]因为改变了nums[i]也就改变了nums[nums[i]]#include "stdafx.h"#include<vector>#include<iostream>using namespace std;class Solution {public: int findRepeatNumber(vector<int>& nums) { int i=0; .原创 2020-11-05 11:06:34 · 97 阅读 · 0 评论 -
leetcode155最小栈
题解同步栈建立一个同步栈记录最小值,当传入时是最小值就加入同步栈,不是就把之前的help[-1]即最小值加入栈。class MinStack: def __init__(self): """ initialize your data structure here. """ self.data=[] se...原创 2020-04-21 09:38:56 · 91 阅读 · 0 评论 -
leetcode286. 墙与门
题解在这里应用了多远BFS,就是做了一个双端队列,先将门加入队列,再从队列里左端出列,搜寻自身四个方向,当为房间就将计数加1,并加入队列from collections import dequeclass Solution: def wallsAndGates(self, rooms: List[List[int]]) -> None: """ ...原创 2020-04-20 13:24:35 · 282 阅读 · 0 评论 -
leetcode622设计循环队列
题解-数组class MyCircularQueue: def __init__(self, k: int): """ Initialize your data structure here. Set the size of the queue to be k. """ self.myqueue=[0]*k ...原创 2020-04-11 18:12:19 · 104 阅读 · 0 评论 -
289生命游戏leetcode
1问题描述题解1class Solution: def gameOfLife(self, board: List[List[int]]) -> None: """ Do not return anything, modify board in-place instead. """ import copy ...原创 2020-04-04 16:38:00 · 169 阅读 · 0 评论 -
892三位形体表面积LeetCode
1题目描述这道题关键难点在于读题,后续引用了大佬的题解示意图来显示题解 -单块计算累加分别计算每一块,只要高度大于0,底部和顶部就贡献两个面积,侧面积会与四周重叠,在这里,观察与四周的高度若是本身高度grid[i][j]小于周围块高度n_val的就为0,大于则为两者之差class Solution: def surfaceArea(self, grid: List[Lis...原创 2020-03-25 10:16:51 · 93 阅读 · 0 评论 -
面试题 17.16. 按摩师leetcode
1问题描述2题解-动态规划这里第一瞬间想到的问题是之间做的leetcide300题最长上升子序列,用一次循环O(n)的复杂度解决了问题。class Solution: def massage(self, nums: List[int]) -> int: if nums==[] : return 0 dp=[0]*len(...原创 2020-03-24 23:03:40 · 133 阅读 · 0 评论 -
876. 链表的中间结点leetcode
文章目录1问题描述题解1-数组题解2-双指针1问题描述题解1-数组# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def midd...原创 2020-03-23 09:28:16 · 135 阅读 · 0 评论 -
409. 最长回文串leetcode
1问题描述2题解-时间复杂度O(n)遍历了一遍,空间复杂度O(S),S是字符集的大小,这也不知道算啥方法,简单的逻辑解法·class Solution: def longestPalindrome(self, s: str) -> int: s_counter=collections.Counter(s) ans=0 odd_e...原创 2020-03-19 10:10:39 · 92 阅读 · 0 评论 -
836矩形重叠leetcode
1问题描述2题解-区域重叠将问题转化为了区域重叠问题,可知要矩形重叠需要在x轴和y轴都有区域重叠,就x轴方向讨论,在x轴方向上重叠情况比较多,但是不重叠情况就两种即矩形1右节点x坐标小于等于矩形二左节点x坐标,或者矩形1左节点x坐标大于等于矩形2右节点x坐标。class Solution: def isRectangleOverlap(self, rec1: List[int], ...原创 2020-03-18 14:18:53 · 105 阅读 · 0 评论 -
300. 最长上升子序列leetcode
文章目录1问题描述2题解1-动态规划1问题描述2题解1-动态规划就是遍历每个点找到,该点的最大值class Solution: def lengthOfLIS(self, nums: List[int]) -> int: if nums==[]: return 0 len_nums=len(nums)...原创 2020-03-17 16:10:13 · 98 阅读 · 0 评论 -
1160. 拼写单词leetcode-counter
1题目描述2题解-counterclass Solution: def countCharacters(self, words: List[str], chars: str) -> int: chars_counter=collections.Counter(chars) ans=0 for word in words: ...原创 2020-03-17 10:56:07 · 154 阅读 · 0 评论 -
面试题 10.01. 合并排序的数组leetcode
文章目录问题描述题解1-拼接+排序问题描述题解1-拼接+排序class Solution: def merge(self, A: List[int], m: int, B: List[int], n: int) -> None: """ Do not return anything, modify A in-place instead. ...原创 2020-03-17 10:48:18 · 100 阅读 · 0 评论 -
面试题 01.06. 字符串压缩leetcode
问题描述题解-暴力法自己写的和题解模拟法一模一样,看来简单方法大家思路都相同,具体解释如下class Solution: def compressString(self, S: str) -> str: if S=='': return '' result='' temp_key=S[0] ...原创 2020-03-16 14:03:19 · 155 阅读 · 0 评论 -
695岛屿最大面积leetcode -深度优先搜索
题目描述题解1-深度优先搜索遍历每个点,在每个点就是使用深度优先搜索,将自身变为0同时计算周围四个点,方法做完后发现与题解1相同复杂度为class Solution: def dfs_single(self,grid,cur_x,cur_y): if cur_x<0 or cur_y<0 or cur_x>len(grid)-1 or cur_y...原创 2020-03-16 10:03:09 · 148 阅读 · 0 评论 -
1071字符串的最大公因子leetcode-类内函数中的函数不要加self
文章目录题目描述解法1-辗转相除题目描述解法1-辗转相除class Solution: def gcdOfStrings(self, str1: str, str2: str) -> str: len_str1=len(str1) len_str2=len(str2) def gcd(a,b): whil...原创 2020-03-14 11:16:13 · 79 阅读 · 0 评论 -
169多数元素leetcode 字典法解决
class Solution: def majorityElement(self, nums: List[int]) -> int: dic={} num_list=len(nums) for num in nums: if num in dic.keys(): dic[num]...原创 2020-03-13 22:03:46 · 89 阅读 · 0 评论 -
994. 腐烂的橘子leetcode
class Solution: def orangesRotting(self, grid: List[List[int]]) -> int: time=0 queue=[] direction=[[-1,0],[1,0],[0,-1],[0,1]] boundary_row=len(grid) bou...原创 2020-03-13 20:05:16 · 89 阅读 · 0 评论 -
1013. 将数组分成和相等的三个部分leetcode
题目描述解答-两端缩进就是先求和算出平均值,在从两端求和取接近平均值的数,若等于平均值取坐标,然后对第一个和第三个坐标做对比,第三个坐标要比第一个大1,留一个位置给第二块。功能完成。class Solution: def canThreePartsEqualSum(self, A: List[int]) -> bool: goal=0 sum_...原创 2020-03-12 00:06:40 · 125 阅读 · 0 评论 -
322. 零钱兑换leetcode
题解 -动态规划class Solution: def coinChange(self, coins: List[int], amount: int) -> int: dp=[float('inf')]*(amount+1) dp[0]=0 for coin in coins: for x in range...原创 2020-03-11 23:34:12 · 84 阅读 · 0 评论 -
50实现 pow(x, n) ,即计算 x 的 n 次幂函数leetcode
问题概述示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x < 100.0n 是 32 位有符号整数,其数值范围是 [−2(31), 231 ...原创 2019-08-18 18:07:31 · 1885 阅读 · 1 评论 -
543. 二叉树的直径leetcode
文章目录1问题描述2题解-递归1问题描述给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。示例 :给定二叉树在这里插入代码片 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2...原创 2020-03-10 15:53:19 · 176 阅读 · 0 评论 -
69求平方根leetcode
1问题描述实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。求解二分法单调递增可以用二分查找法l=0 r=...原创 2019-08-25 00:16:03 · 391 阅读 · 0 评论 -
121. 买卖股票的最佳时机leetcode
文章目录1问题描述解法1-暴力法解法2-一次遍历1问题描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6...原创 2020-03-09 22:16:49 · 75 阅读 · 0 评论 -
225. 用队列实现栈leetcode
问题描述使用队列实现栈的下列操作:push(x) – 元素 x 入栈pop() – 移除栈顶元素top() – 获取栈顶元素empty() – 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。你所使用的语言也许不支持队列。 你可以使用 list 或者 ...原创 2020-03-09 10:55:39 · 114 阅读 · 0 评论 -
1103. 分糖果 II--leetcode
文章目录问题描述题解1-暴力法问题描述排排坐,分糖果。我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。然后,我们再回到队伍的起点,给第一个小朋友 n + 1 颗糖果,第二个小朋友 n + 2 颗,依此类推,直到给最后一个小朋友 2 * n 颗糖果...原创 2020-03-08 12:48:15 · 124 阅读 · 0 评论 -
57 - II. 和为s的连续正数序列-leetcode面试题
文章目录1问题描述题解1-暴力破解题解2-求根公式1题解3-数学求根方式2题解4双指针1问题描述题解1-暴力破解class Solution: def findContinuousSequence(self, target: int) -> List[List[int]]: result=[] example=[] for i ...原创 2020-03-06 23:44:44 · 105 阅读 · 0 评论