自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Fudanqqqqq的博客

搬家到博客园了:https://www.cnblogs.com/FdWzy/

  • 博客(26)
  • 资源 (5)
  • 收藏
  • 关注

原创 212. 单词搜索 II

Q:给定一个二维网格 board 和一个字典中的单词列表 words,找出所有同时在二维网格和字典中出现的单词。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。示例:输入:words = [“oath”,“pea”,“eat”,“rain”] and board =[[‘o’,‘...

2019-08-24 12:22:54 167

原创 209. 长度最小的子数组

Q:给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复杂度的解法, 请尝试 O(n log n) 时间复杂度的...

2019-08-23 15:12:00 100

原创 210. 课程表 II

Q:现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。示例 1:输入: 2, [[1,0]]输出:...

2019-08-18 19:29:13 140

原创 206. 反转链表

Q:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULLA:迭代就不说了,保存当前节点的前继节点循环改变指针指向就行。我自己先写了个递归的,但看了题解的递归,一比就比下去了。。我写的递归:class Solution: def reverseList(...

2019-08-17 21:10:22 104

原创 200.岛屿数量

from collections import dequeclass Solution: def numIslands(self, grid) -> int: m=len(grid) if not m: return 0 n=len(grid[0]) count=0 for i ...

2019-08-17 00:34:41 96

原创 173. 二叉搜索树迭代器

Q:实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。调用 next() 将返回二叉搜索树中的下一个最小的数。示例:BSTIterator iterator = new BSTIterator(root);iterator.next(); // 返回 3iterator.next(); // 返回 7iterator.hasNext(); // 返回 tr...

2019-08-16 19:50:19 89

原创 172. 阶乘后的零

Q:给定一个整数 n,返回 n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释: 3! = 6, 尾数中没有零。示例 2:输入: 5输出: 1解释: 5! = 120, 尾数中有 1 个零.说明: 你算法的时间复杂度应为 O(log n) 。A:5乘2才能得到10,又如果一个数字阶乘里有5,2的数量一定比5多,假设求n的阶乘,2的数量应该为至少n/2+(n-1)/...

2019-08-16 19:28:24 88

原创 189. 旋转数组

Q:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99] ...

2019-08-16 03:04:59 79

原创 162. 寻找峰值

Q:峰值元素是指其值大于左右相邻值的元素。给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。示例 1:输入: nums = [1,2,3,1]输出: 2解释: 3 是峰值元素,你的函数应该返回其索引 2。示...

2019-08-14 15:38:19 93

原创 128. 最长连续序列

Q:给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。A:注意一点,题目说的序列长度是有几个连续+1的数。然后题目不让用排序,用dict或者set做,这样就是O(N)复杂度,一个比较巧妙的地方:用当前元素减1的值试...

2019-08-11 00:43:18 84

原创 103. 二叉树的锯齿形层次遍历

常规思路:每层的队列正常处理,隔一行计算结果时反转加入结果数组class Solution: def zigzagLevelOrder(self, root: TreeNode) -> List[List[int]]: res=[] if not root: return res stack=[root] ...

2019-08-10 01:37:14 91

原创 174. 地下城游戏

Q:一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其...

2019-08-08 21:26:58 152

原创 140. 单词拆分 II

Q:给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入:s = “catsanddog”wordDict = [“cat”, “cats”, “and”, “sand”, “dog”]输...

2019-08-08 14:37:11 73

原创 132. 分割回文串 II

Q:给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回符合要求的最少分割次数。示例:输入: “aab”输出: 1解释: 进行一次分割就可将 s 分割成 [“aa”,“b”] 这样两个回文子串。A:1.我最开始想到了要两次DP,先算一个是否是回文数的dp数组,再算所求的DP。但第二个DP数组我用的二维数组,然后就变成了O(N^3)时间。因为对于其中每个元素都要从...

2019-08-07 23:36:30 152

原创 123. 买卖股票的最佳时机 III

class Solution: def maxProfit(self, prices) -> int: l=len(prices) if l<2: return 0 res=0 #先算一个dp1数组 #dp1[i]表示截止到第i-1天只进行一次买卖的最大利润 ...

2019-08-07 21:09:47 104

原创 121. 买卖股票的最佳时机

Q:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润...

2019-08-07 12:59:47 62

原创 115. 不同的子序列

知道是DP,但就是找不到递推方程,只好拿递归做,从左遍历,遇到第一个匹配的开始对之后的两个字符串递归,复杂度应该是O(N!),指数级的,第51个用例过不去了。DP[i] [j]表示由s的前i个元素组成的序列A中有多少由t前j个元素组成的序列B。首先若s的前i-1序列包含t的前j序列,那么s的前i序列也一定包含t的前j序列。其次若s[i]==t[j],当s的前i-1序列包含t的前j-1序列时,...

2019-08-07 00:47:06 250

原创 95. 不同的二叉搜索树 II、96. 不同的二叉搜索树

Tg:递归这题不能算DP吧,就是递归一个问题:每次的树都要新建,不能共用一个根节点,否则下次遍历对根左右子树的改动会把已经放进结果数组中的树改掉。。class Solution: def generateTrees(self, n: int): def func(m,n): #[m,n]闭区间 res=[] if...

2019-08-06 18:59:19 108

原创 91. 解码方法

Tg:DP都在注释里class Solution: def numDecodings(self, s: str) -> int: l=len(s) if l==0: return 0 if l==1: return int(s[0]!='0') #以下均为l>=...

2019-08-06 16:44:16 264

原创 53. 最大子序和

Tg:动规第一次做法:对于从i开始的最大子序和,要么是nums[i]加上从i+1开始的最大子序和,要么是nums[i]自己(i+1的最大子序和小于等于0),故考虑从右侧往左侧遍历,算出最大子序和即可。class Solution: def maxSubArray(self, nums: List[int]) -> int: l=len(nums) ...

2019-08-06 16:42:06 65

原创 84. 柱状图中最大的矩形

分治法,但PYTHON还是超时,因为有个巨长的有序测试数据,此时分治变O(N2)过不去。。class Solution: def largestRectangleArea(self, heights) -> int: return recur(heights,0,len(heights))def recur(heights,le,ri): if le&gt...

2019-08-06 13:14:18 111

原创 85. 最大矩形

这题用到了前面84的思路,我先计算了一个数组,记录每一行从当前元素起有几个连续的1。然后对于每一列(从右到左,不过其实想想从左到右也没区别,当时想多了)把行数0~n-1作为横坐标,每个元素对应的连续1的长度作为高度,整体逆时针旋转90度就变成了84题求柱状图最大矩形的问题。对于每一列用递增栈O(N),共n列,总体复杂度O(N^2)。class Solution: def maximalR...

2019-08-06 01:59:01 136

原创 205. 同构字符串

一开始写的是用两个字典,将两个字符串的不同元素作为键,值是一个列表,保存该字符串中等于当前键的索引,如abcccdd字符串的字典为:{a:[0],b:[1],c:[2,3,4],d:[5,6]}。然后将两个字典的values()取出进行比较。class Solution: def isIsomorphic(self, s: str, t: str) -> bool: ...

2019-08-04 17:28:02 95

原创 204. 计数质数

题不难,记录下方法。筛法:一个记录数组tmp,从2开始,乘2、3、4、5、、、等直到n,将tmp[乘积]都设为1,即记录为不是质数,若在遍历过程中遇到当前数的tmp值为1,则表示已经不是质数了,就不用再分别乘2、3、4、5、、、了,如遍历到4的时候,之前遍历2的时候22,23,24,25等等一定包含了42,4,3,44等的值,故直接跳过即可,不会漏掉元素。另:注释去掉可99%,就这三个大数算的...

2019-08-04 01:21:25 80

原创 166. 分数到小数

这题真的挺难的,主要难在数学,哈希表的使用倒是很浅显,我也是看了别人的思路再自己写的。a/b,a为被除数、b为除数思路就是把所有补0的被除数都放入哈希表,对应的键值是当前字符串的长度。若出现相同的补过0的被除数则代表接下来除法的结果会开始循环,则跳出循环并在对应位置加括号输出。几个要判断的地方:1.假如当前被除数小于除数,加了一位或补了一个0之后还是小于除数,则在结果中应该加0,如1/10...

2019-08-03 22:12:39 122

原创 124. 二叉树中的最大路径和

题目:给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例 2:输入: [-10,9,20,null,null,15,7]-10/ 9 20/ 15 7没看题解独自做出来的,还是蛮有成就感...

2019-08-01 01:01:53 193

Python实现竞拍室.zip

python实现网络竞拍室(socket编程大作业)。数据通信与计算机网络课程的期末PJ,完全本人手打。

2020-01-13

C++实现图书管理系统(无GUI,利用控制台交互).zip

该资源是我大二上学期数据结构的期末PJ,完全本人手打。 资源描述: 利用C++实现简单的图书馆管理系统,功能包含借书、还书、购入新书。注意是没有界面的,利用控制台交互。

2019-12-27

计算机体系结构Tomasulo算法模拟python.zip

python+tkinter实现Tomasulo算法的可视化模拟。

2019-07-14

计算机体系结构Cache模拟python.zip

计算机体系结构课程作业,python实现Cache模拟。

2019-07-14

Django实现图书馆管理系统.zip

Python+Django+Mysql实现图书馆管理系统,功能主要有借还书、更改用户密码等,该资源是我上数据库时做的PJ,完全手打。

2019-06-11

空空如也

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

TA关注的人

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