![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
无
Zoran_卓
这个作者很懒,什么都没留下…
展开
-
leetcode之回溯算法
22.括号的生成2021.2.22class Solution: def generateParenthesis(self, n: int) -> List[str]: res = [] def DFS(L, R, cur_str): if L==n and R==n: res.append(cur_str) return if L<R:原创 2021-03-02 16:51:14 · 79 阅读 · 0 评论 -
leetcode之832翻转图象
知识点:1.数组整行翻转:list[::-1]2.要求让 0 变成 1,1 变成 0有两种方法:1-x,异或运算x^1方法一先整行翻转,再逐项替换class Solution: def flipAndInvertImage(self, A: List[List[int]]) -> List[List[int]]: n = len(A) for i in range(n): A[i] = A[i][::-1]原创 2021-02-24 11:18:09 · 81 阅读 · 0 评论 -
leetcode之滑动窗口
这道题的思路是滑动窗口,何为滑动窗口:1.使用两个指针表示字符串的某个字串。其中左指针在下面的代码中为i,右指针为tail。2.在每一步的操作中,将左指针向右移动一格,表示开始枚举下一个字符作为起始位置,然后不断的向右移动右指针,直到遇到重复的字符,记录下字串长度。...原创 2021-01-28 22:16:09 · 116 阅读 · 0 评论 -
leetcode之两数相加
这题每用到什么特殊的算法,直接上代码# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode原创 2021-01-26 23:10:09 · 88 阅读 · 0 评论 -
leetcode之罗马数字转整数
我的答案思路:完全按着题目的意思即可class Solution: def romanToInt(self, s: str) -> int: DICT = {"I":1, "V":5, "X":10, "L":50, "C":100, "D":500, "M":1000} sum = 0 mark=0 i=0 while(i<len(s)): if i!=len(s)-1:原创 2021-01-26 16:06:43 · 71 阅读 · 0 评论 -
leetcode之最长连续递增序列
思路:使用动态规划,创建一个数组f,f[i]表示以nums[i]结束的的连续序列长度。ps:刚好期末考试考了最大递增子序列,手动狗头。时间复杂度:O(n)O(n)O(n)空间复杂度:O(m)O(m)O(m)class Solution: def findLengthOfLCIS(self, nums: List[int]) -> int: if nums==[]: return 0 f = [1 for _ in range(len原创 2021-01-25 00:03:17 · 121 阅读 · 0 评论 -
leetcode之有效的括号
这道题很简单,就是用栈的可以解决了。由于发现leetcode给出的运行时间和内存消耗并不准确(同一个答案三次提交运行时间和内存消耗都不同),所以便不在给出具体的数值了。自己写的答案在这里插入代码片...原创 2021-01-23 23:42:08 · 174 阅读 · 0 评论 -
leetcode之回文数
自己写的解:思路:将数字变成字符串,再逐个字符进行对比执行用时: 92 ms,超过23%内存消耗: 14.8 MB,超过20%class Solution: def isPalindrome(self, x: int) -> bool: if x<0: return False a = str(x) length = len(a)-1 if length原创 2021-01-21 19:05:42 · 96 阅读 · 1 评论 -
leetcode之两数之和
思路:先排序,在遍历。排序用快速排序,时间复杂度为O(nlogn)O(nlogn)O(nlogn),遍历的时间复杂度为O(n)O(n)O(n),总的时间复杂度为O(nlogn)O(nlogn)O(nlogn)。空间复杂度O(n)O(n)O(n).class Solution(object): def quick_sort(self, nums, l, r): if l<r: i = l j = r k原创 2021-01-20 23:42:29 · 163 阅读 · 0 评论