自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

原创 ADB 常用命令

# 获取设备idadb devices# 重启adb reboot# 获取离线logadb pull log 文件路径# 以root权限运行adbadb root# 对某个设备执行shell命令adb -s device-id shell 命令# 设置参数adb -s device-id shell setprop

2022-04-12 17:54:40 4296

原创 Pycharm 虚拟环境配置

自己安装了python 3.10项目使用环境为 python 3.61、打开Pycharm,file->Settings2、Project->Project Interpreter3、右侧设置->add4、New environment,Base interpreter 为python3.6地址5、点击OK6、如果其他项目需要python3.10 在Project Interpreter可以切换...

2022-03-21 10:54:20 4264

原创 剑指 Offer 05. 替换空格 58 - II. 左旋转字符串 Python 3

替换空格思路:转换为列表将空格替换class Solution: def replaceSpace(self, s: str) -> str: string = list(s) n = len(s) for i in range(n): if string[i] == ' ': string[i] = '%20' return ''.join(string)方

2021-12-23 16:31:02 643

原创 剑指 Offer 06. 从尾到头打印链表 24. 反转链表 35. 复杂链表的复制 Python 3

从尾到头打印链表单向链表:数据+指针(存储地址),只可根据next指针遍历查找,查询慢,插入和删除快,不知道前驱节点时删除和插入的时间复杂度都为O(n),若给定前驱节点则时间复杂度为O(1)。思路:递归链表,将所有值存入list,倒序输出时间复杂度O(n)class Solution: def reversePrint(self, head: ListNode) -> List[int]: # 存入列表,倒序输出 printlist = li.

2021-12-22 18:07:21 764

原创 剑指 Offer 09. 用两个栈实现队列 30. 包含min函数的栈 Python 3

两个栈实现队列栈:先进后出队列:先进先出重点:deleteHead思路:需要删除时,如果B中有值,pop,否则将A中所有值pop至Bclass CQueue: def __init__(self): self.A, self.B = [], [] def appendTail(self, value: int) -> None: self.A.append(value) def deleteHead(self) -&.

2021-12-17 15:37:20 521

原创 删除数据库中的重复数据,只保留一条

思路:先查找重复数据这里定义id相同即为重复select info from table_name group by id having count(*)>1只保留一条,可选择id最大/最小的select max(id) as store_id from table_name group by id having count(*)>1上述查出的数据重新命名(select max(id) as store_id from table_name group by

2021-11-10 18:43:14 3854 1

原创 LeetCode 338 比特位计数

动态规划class Solution: def countBits(self, n: int) -> List[int]: # 动态规划 # i+1 只比 i多1 bits = [0] highbit = 0 # 最高有效位 for i in range(1, n+1): if i & (i-1) == 0: # i-1 全为1时,更新最高有效位

2021-07-06 09:31:19 67

原创 LeetCode 350 两个数组的交集2 Python3

1、暴力class Solution: def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]: # 1、暴力 O(n^2) res = [] size1, size2 = len(nums1), len(nums2) for num1 in nums1: if num1 in nums2:

2021-06-09 10:54:25 59

原创 LeetCode 344 反转字符串 Python3

1、交换字符class Solution: def reverseString(self, s: List[str]) -> None: """ Do not return anything, modify s in-place instead. """ # 1 交换字符 O(n) size = len(s) for i in range(size//2): s[i],

2021-05-28 12:47:15 71

原创 LeetCode 326 3的幂 Python3

1、循环class Solution: def isPowerOfThree(self, n: int) -> bool: # 循环 res = n if res<=0: return False while res>1: if res%3==0: #是否为3的倍数 res = res//3 else:

2021-05-14 01:01:07 70

原创 LeetCode 283 移动零 Python3

1、双指针class Solution: def moveZeroes(self, nums: List[int]) -> None: """ Do not return anything, modify nums in-place instead. """ # 双指针 size = len(nums) zero = -1 for i in range(size):

2021-05-14 00:39:32 75

原创 LeetCode 268 丢失的数字 Python3

1、原数组排序后查找class Solution: def missingNumber(self, nums: List[int]) -> int: # 排序 O(nlogn) n = len(nums) nums = sorted(nums) for i in range(0,n): if nums[i] != i: return i

2021-05-13 00:41:44 115

原创 LeetCode 242 有效的字母异位 Python3

1、散列表/字典记录信息class Solution: def isAnagram(self, s: str, t: str) -> bool: dict = {} # 字典存入s的信息 for ch in s: if ch in dict: dict[ch] = dict[ch]+1 else: dict[ch] = 1

2021-05-11 23:50:01 66

原创 LeetCode 237 删除链表中的节点 Python3

单链表只利用当前节点信息删除当前节点# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def deleteNode(self, node): """ :type node: ListNode :rt

2021-05-11 23:22:12 80

原创 LeetCode 234 回文链表 Python3

1、存储再反转# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def isPalindrome(self, head: ListNode) -> bool: # O(n) O(n)

2021-05-11 01:24:22 61

原创 LeetCode 217 存在重复元素 Python3

1、散列表/字典/集合class Solution: def containsDuplicate(self, nums: List[int]) -> bool: m = set() for num in nums: if num in m: return True else: m.add(num) return False2

2021-05-11 00:08:48 72

原创 LeetCode 206 反转单链表 python3

1、迭代# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def reverseList(self, head: ListNode) -> ListNode: # 三个指针,类似于冒泡

2021-04-20 19:43:25 100

原创 LeetCode 204 计数质数 Python3

1、暴力 超时class Solution: def countPrimes(self, n: int) -> int: # 暴力,O(nlogn) def IsPrimes(n): for i in range(2,n//2+1): if n%i == 0: return False return True # 2以下无

2021-04-20 15:40:09 83

原创 LeetCode 202 快乐数 python3

实质:检查是否有循环1、循环遍历class Solution: def isHappy(self, n: int) -> bool: # 记录,以防止循环 m = set() res = n while res>1: # 主体 n = res res = 0 if n in m: # 检测是否循环 retur

2021-04-15 14:28:53 60

原创 LeetCode 191 位1的个数 python3

1、遍历class Solution: def hammingWeight(self, n: int) -> int: # 遍历,遇到1则count+1 时间复杂度O(n) count = 0 for i in range(32): count += n&1 n >>= 1 return count2、分治法class Solution:

2021-04-15 13:44:24 73

原创 LeetCode 190 颠倒二进制位 Python3

1、循环,位运算class Solution: def reverseBits(self, n: int) -> int: # 循环 res为结果,每次循环左移并和n当前位(n&1)做或运算,n右移 res = 0 for i in range(32): res = (res<<1) | (n&1) n >>= 1 return res

2021-04-12 10:37:37 145

原创 LeetCode 172 阶乘后的零 Python3

1、暴力 (超时)class Solution: def trailingZeroes(self, n: int) -> int: # 0乘任何数都为0 暴力 O(n) res, count = n, 0 while n>1: n = n-1 res = res*n while mod(res,10)==0: count += 1

2021-04-08 11:53:22 82

原创 LeetCode 171 Excel表列序号 Python3

1、倒序累加class Solution: def titleToNumber(self, columnTitle: str) -> int: # 先理解题目 AB=1*26+2 ZY=26*26+25=701 二十六进制问题 # 倒序累加 res=0 count=0 for i in range(len(columnTitle)-1,-1,-1): res += (ord(colum

2021-04-07 11:15:27 79

原创 LeetCode 169 多数元素 Python3

1、散列表class Solution: def majorityElement(self, nums: List[int]) -> int: # 字典存储 时间O(n) 最差空间O(n) dic = defaultdict(int) for num in nums: dic[num] = dic[num]+1 # 返回value值最大的 return max(dic,key=dic.

2021-04-06 10:58:26 95

原创 LeetCode 160 相交链表 Python3

1、散列表查找# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def getIntersectionNode(self, headA: ListNode, headB: ListNode) -> ListNode: # 存

2021-04-06 09:22:56 94 1

原创 LeetCode 141 环形链表 Python3

1、遍历并记录,如果遍历到记录过的节点则为循环链表(散列表记录)# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def hasCycle(self, head: ListNode) -> bool: # 遍历

2021-04-01 00:46:09 73

原创 LeetCode 136 只出现一次的数字 Python3

1、使用字典记录已出现的值,出现过(两次)则删除class Solution: def singleNumber(self, nums: List[int]) -> int: # 1、使用额外空间,散列表, dict = {} for num in nums: if dict.__contains__(str(num)): del dict[str(num)]

2021-03-31 01:08:48 69

原创 LeetCode 125 验证回文串 Python3

1、双指针 左右对比这里主要学习一下Python3中字符串相关函数str.lower() # 所有大写字符转换为小写str.isalnum() # 检测字符串是否由字母和数字组成ord(c) # 返回对应的 ASCII 数值class Solution: def isPalindrome(self, s: str) -> bool: s = s.lower() size = len(s) left = 0 ri

2021-03-30 01:47:29 73

原创 LeetCode 121 122 买卖股票的最佳时机 python3

1、暴力(超时)class Solution: def maxProfit(self, prices: List[int]) -> int: # 1、暴力 O(n2) days = len(prices) maxpro = 0 for i in range(days): for j in range(i+1,days): maxpro = max(prices[

2021-03-26 17:27:27 53

原创 LeetCode 118 119 杨辉三角 python3

1、双循环class Solution: def generate(self, numRows: int) -> List[List[int]]: if numRows==1: return [[1]] # 一二层 res = [[1],[1,1]] # 之后的前后各增加1以及上一层相近的两个数之和:res[i-1][j]+res[i-1][j+1] for i in range (2

2021-03-25 15:41:28 86

原创 LeetCode 112 路径总和 python3

1、递归# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def hasPathSum(self, root: TreeNode,

2021-03-18 15:24:06 73

原创 LeetCode 111 二叉树的最小深度 python3

1、深度优先搜索# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def minDepth(self, root: TreeNode

2021-03-17 16:11:44 98

原创 LeetCode 110 平衡二叉树 Python3

1、深度搜索,自顶向下遍历节点时都判断是否满足平衡的条件# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def isBalan

2021-03-17 14:05:23 94

原创 LeetCode 108 将有序数组转换为二叉搜索树 Python3

1、 暴力递归,由于有序,每次取中间数为节点# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def sortedArrayToBS

2021-03-16 15:06:23 50

原创 LeetCode 104 二叉树的最大深度 python3

1、深度优先搜索# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def maxDepth(self, root: TreeNode

2021-03-15 23:29:05 81

原创 LeetCode 100 相同的树 python3

1、深度优先搜索# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def isSameTree(self, p: TreeNode.

2021-03-15 16:28:07 97 1

原创 LeetCode 101 对称二叉树 python3

1、深度优先搜索活用递归# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def isSymmetric(self, root:

2021-03-15 16:26:50 53

原创 LeetCode 88 合并两个有序数组 python3

1、使用python中的list插入class Solution: def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None: """ Do not return anything, modify nums1 in-place instead. """ # 思路:遍历nums2,如果大于nums1中的数字则插入 fo

2021-03-15 09:41:55 75

原创 LeetCode 83 删除排序链表中的重复元素 python3

1、简单遍历链表只要熟悉python中的链表操作即可# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def deleteDuplicates(self, head: ListNode) -> ListN

2021-03-12 13:51:00 88

原创 LeetCode 70 爬楼梯 python3

1、暴力递归超时class Solution: def climbStairs(self, n: int) -> int: # 递归 if n<=3: return n else: return self.climbStairs(n-1)+self.climbStairs(n-2)2、循环 从上一个解法不难看出 f(n) = f(n-1) +f(n-2)class So

2021-03-12 10:37:34 60

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除