刷题
文章平均质量分 90
try_trying_try
努力努力x努力
展开
-
labuladong系列1
边学习边记笔记~~~先学一遍,再结合笔记speed复习一遍!!!刷题回来了坚持每天至少一题 保持感觉与思维习惯最重要总指导labuladong#开篇明白目标是什么\textbf{明白目标是什么}明白目标是什么 可以量化的才叫目标(可拆分)递归思维:自顶向下 (反向求解) -->动态规划迭代思维:自底向上算法只是个tool 先死后生⋅\cdot⋅切记!人的精力是有限的 不断提高效率目标 - 计划 - 严格执行题型分类================分割线 ======原创 2021-06-06 12:13:39 · 115 阅读 · 0 评论 -
Dayx7:剑指offer
发散思维系列求 1+2+…+n 牛客网要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。#递归class Solution: def getSum(self, n): return n and n+self.getSum(n-1)#知识点之and3 and 8 Out:8 last3 and 0 Out:0 有一个0输出00 and 8 Out:0不用加减乘除做加法 le原创 2020-07-21 18:38:08 · 131 阅读 · 0 评论 -
Dayx6:剑指offer
队列滑动窗口的最大值给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值.e.g:输入数组[2, 3, 4, 2, 6, 2, 5, 1]及滑动窗口的大小3,那么一共存在6个滑动窗口,它们的最大值分别为[4, 4, 6, 6, 6, 5]。(多 practice)–deque()#两端开口队列def maxInWindows_2(nums, k): from collections import deque if len(nums)<k or k<=0:原创 2020-07-21 10:38:30 · 145 阅读 · 0 评论 -
Dayx5:剑指offer
56.1. 数组中只出现一次的两个数字 leetcode 260给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素哈希表 Time:O(2n) Space:O(n)#记录(每个数字出现次数) 筛选def singleNumber(self, nums: List[int]) -> List[int]: dict={} for x in nums: if x not in dict:原创 2020-07-19 17:34:33 · 140 阅读 · 0 评论 -
Dayx4:剑指offer
∙\bullet∙ 举一反三之二分法53.1 (多practice). 在排序数组中查找元素的第一个和最后一个位置给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。def searchRange(self, nums, target): if not nums: return -1,-1 l,r=0,len(nums)-1 #二分找到target的第一个位置 while l<r:原创 2020-07-18 22:28:19 · 122 阅读 · 0 评论 -
Dayx3:剑指offer
丑数 Leecode 264编写一个程序,找出第 n 个丑数。丑数就是只包含质因数 2, 3, 5 的正整数。习惯上把 1 当作第一个丑数。原创 2020-07-18 22:28:01 · 123 阅读 · 0 评论 -
Dayx2:剑指offer
第N个数字 Leecode400在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …中找到第 n 个数字。注意:n 是正数且在32位整数范围内 ( n < 231)。复杂度分析时间复杂度:O(N)O(N)。空间复杂度:O(1)O(1)。import mathdef findNthDigit(self, n: int) -> int: # 首先判断target是几位数,用digits表示 base=9.原创 2020-07-14 18:47:05 · 148 阅读 · 0 评论 -
Dayx1:剑指offer
数组中出现次数超过一半的数字leecode 169#方法一#超简洁版(思路棒)#出现次数超过一半的数字 可以分成一个个和others数字 单独抵消def majorityElement( nums: List[int]) -> int: count, res = 0, None for x in nums: if count == 0: res = x count += 1 if x == res else -1 .原创 2020-07-14 18:46:52 · 139 阅读 · 0 评论 -
排列&组合系列--数字、str
排列(数字序列 & str序列)38 字符串的排列给定一个 没有重复 数字的序列,返回其所有可能的全排列。输入: [1,2,3]leecode 46class Solution: def permute(self, nums: List[int]) -> List[List[int]]: def dfs(first): # first 记录每次...原创 2020-05-08 21:43:14 · 235 阅读 · 0 评论 -
DP系列
Leecode 53最大子序和 simpleclass Solution: def maxSubArray(self, nums: List[int]) -> int: if len(nums)==1: return nums[0] max_sum = nums[0] #must两个,一个记录,一个遍历 cur_sum = ma...原创 2020-04-29 19:58:33 · 420 阅读 · 0 评论 -
笔试输入输出小结 Python3
输入m, n, p = [int(i) for i in input().split()] # 一行输入三个数字(或多个),用空格隔开print(m) #type(m):int type(n):intlist_1 = [int(i) for i in input().split()] # 一行输入多个数字,空格隔开,存入列表中# 先输入一个数字代表需要输入几行,比如N=4,那么就...原创 2020-04-17 22:33:48 · 780 阅读 · 0 评论 -
排序
参考:https://blog.csdn.net/mrlevo520/article/details/77829204自己总结一下归并排序通过先递归的分解数列,再合并数列就完成了归并排序。#写code:分成很小很小的小问题 def merge(left,right): res=[] while left and right: res.append( ...原创 2020-04-10 17:06:23 · 147 阅读 · 0 评论 -
Day2:剑指offer
6.二叉树的下一个结点给定一个二叉树和其中的一个结点,请找出中序遍历 [左,根,右] 顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。如果给定的节点是中序遍历序列的最后一个,则返回空节点;二叉树一定不为空,且给定的节点一定不是空节点;(这句没懂)思路:遇到这种’第一感觉’复杂的题,画出二叉树的结构图,via具体的例子找出中序遍历下一个节点的规律#...原创 2020-04-09 21:10:36 · 165 阅读 · 0 评论 -
Day1:剑指offer
简单自我反思一下哈~“金三银四”满天飞,尝试自己去投实习,发现技术岗笔试题自己弱爆了,怎么能短期提升写code能力呢?我真的很惆怅啊,以前以为刷刷题,很简单啊,真正去试了leecode,牛客网里面的‘剑指offer’,才发现根本不是能速成的,哭死~~~~~~~担心找不到实习,找不到工作,这么多年的书岂不是白读了,一路以来的学校也还不差(T_T),我该怎么办啊?担心,愁,自己很多想做的事现在都不...原创 2020-04-04 18:24:35 · 193 阅读 · 0 评论