自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 问答 (2)
  • 收藏
  • 关注

原创 【leetcode】515. Find Largest Value in Each Tree Row

题目描述:https://leetcode.com/problems/find-largest-value-in-each-tree-row/题目大意:输出每一层的最大值解题思路:层序遍历# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, val=0, left=None, right=None):# self.val = val#

2021-02-06 20:45:04 167

原创 【leetcode】1110. Delete Nodes And Return Forest

题目描述:https://leetcode.com/problems/find-elements-in-a-contaminated-binary-tree/题目大意:以题中描述的方式形成的二叉树被污染了,所有的结点的值都变成了-1,现在让我们首先恢复原来的二叉树,然后再实现find函数。解题思路:使用前序遍历恢复原来的二叉树,然后使用hash字典记录二叉树中的节点值。python代码:# Definition for a binary tree node.# class T

2021-02-06 16:49:56 226

原创 【leetcode】623. Add One Row to Tree

题目描述:https://leetcode.com/problems/add-one-row-to-tree/题目大意:在某一层插入一行节点解题思路:基于双端队列、广度优先搜索的二叉树层序遍历python代码:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, val=0, left=None, right=None):# self.va

2021-02-05 22:43:36 162

原创 【leetcode】1302. Deepest Leaves Sum

题目描述:https://leetcode.com/problems/deepest-leaves-sum/题目大意:输出最深层叶子节点的值之和解题思路:使用基于双端队列的层序遍历,输出最后一层所有节点值的和。python双端队列操作:#实例化一个双端队列:q = deque() #Double Ended QUEue#常用操作:q.appendleft(1) #从最左端把元素添加进队列q.append(2) #从最右端把元素添加进队列q.po

2021-02-05 22:24:56 174

原创 【leetcode】199. Binary Tree Right Side View

19:43题目描述:https://leetcode.com/problems/binary-tree-right-side-view/题目大意:从右侧看一颗二叉树,看到的是哪些值?解题思路:基于广度优先搜索、双向列表的树层序遍历,每一层从左到右遍历,输出每一层最后一个元素。python代码:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, va

2021-02-05 19:46:21 99

原创 【leetcode】813. Largest Sum of Averages

题目描述:https://leetcode.com/problems/largest-sum-of-averages/submissions/题目大意:讲一个整数数组分成连续的K个子数组,问这K个子数组的平均值之和的最大值是多少?解决思路:就相当于在len(A)长度的数组中存在的len(A)-1个间隔中插入K-1个“隔板”使得分隔开来的K个连续子数组平均值之和最大。可以使用回溯进行遍历。这里注意到当前几个隔板放置好后,余下的数组长度和隔板数量对应的子问题答案是会在回溯过程中被反复

2021-02-04 23:08:12 134

原创 【leetcode】799. Champagne Tower

题目描述:https://leetcode.com/problems/champagne-tower/题目大意:经典倒香槟场景,从由高脚杯叠成的金字塔最上一个杯子开始倒入poured数目的香槟,问倒完之后,第i行第j个杯子内有多少香槟。解题思路:这道题看到poured数据规模在e9,让人觉得需要寻找O(n)的解法,但实际上这道题的时间复杂度并不由poured的数量级决定。在倒入一定体积香槟后,杯子金字塔中任意一个杯子内的香槟体积都是固定的,不涉及排列组合问题,因此基本不考虑dfs

2021-02-02 10:35:27 243 1

原创 【leetcode】740. Delete and Earn

题目描述:题目大意:通过对一个整数数组中任意一个元素进行一种操作,可以得到分数,这种操作的过程为:取出一个元素a,得到分数a,同时删去这个数组中所有比该元素小1或者大1的数。求所能得到的分数最大值。解题方法:这道题给出了数据范围在e4,基本确定算法复杂度不会超过nlogn。因此使用dfs 回溯的几率很小,优先考虑动态规划(遇事不决动态规划)首先对nums进行排序之后定义形状为(len(nums),2)的dp数组dp[i][0]表示保留nums[i]后,在nums.

2021-02-01 23:33:14 102

原创 【leetcode】718. Maximum Length of Repeated Subarray

题目描述:题目大意:返回两个整数数组的最长公共子数组(子数组是原数组中连续的一部分,最短为包含一个元素)解题方法:涉及子数组、子串、子序列的最优值问题基本都可以使用动态规划进行求解。我们定义dp[i][j]表示A[:i]与B[j]结尾的公共子数组长度。因此可得状态转移方程:if B[i-1]==A[j-1]: dp[i][j] = dp[i-1][j-1]+1 res = max(res,dp[i][j])else: dp[i][j]=0pytho

2021-02-01 22:54:43 76

原创 【leetcode】712. Minimum ASCII Delete Sum for Two Strings

题目描述:https://leetcode.com/problems/minimum-ascii-delete-sum-for-two-strings/题目大意:分别在两个字符串s1、s2中删去一些字符,使得两个字符串剩余的子串相同。求删去的字符ASCII码数之和最小值。解题方法:这道题是LCS最长公共子串的变式,求删去字符ASCII码数之和最小,也就是求字符ASCII码之和最大的公共子串。在LCS问题中,我们构建dp矩阵,行数为s1字符串长度+1,列数为s2字符串长度+1,dp

2021-01-31 22:48:43 80

原创 Leetcode 376. Wiggle Subsequence

这道题是从dp的tag中找到的,但实际上可以使用贪心求解。主要是明确两个真命题:命题一、长度最长的符合要求的子序列中一定至少有一个子序列包含原数组第一个元素证明: 使用反证法,假设长度最长的子序列均不包含第一个元素 1)当子序列从上升开始且第一个元素比原数组第一个元素大时,该子序列可使用原数组第一个元素替换其第一个元素,得到一个同长度的子序列解。 2)当子序列从上升开始且第一个元素比原数组第一个元素小时,该子序列应该加上原数组第一个元...

2021-01-20 15:00:40 158 5

原创 E: 无法解析软件包文件 /etc/apt/preferences (1);E:Unable to parse package file /etc/apt/preferences (1)

最近在使用sudo apt 的一些命令时遇到了这两个问题1、E: 无法解析软件包文件 /etc/apt/preferences (1)(E:Unable to parse package file /etc/apt/preferences (1))和2、首选项文件 /etc/apt/preferences.d/cuda-repository-pin-600 中发现有无效的记录,无 Package 字段头其中第二个问题通过蔡同学的https://www.zhihu.com/search?t

2020-09-10 16:26:09 3047

原创 ubuntu bash: /dev/fd/63: No such file or directory

在ubuntu终端执行sudo bash <(curl -s -L http://*********/****.sh)遇到了bash: /dev/fd/63: No such file or directory问题,之后依次尝试了一些帖子的方法后没有解决问题,最后解决问题的方式为:参考https://blog.csdn.net/jiahaoangle/article/details/106475891将bash <(curl -s -L http://*******

2020-09-04 10:10:37 5323 1

原创 【tensorflow-gpu CUDA cudann】报错:Could not load dynamic library ‘libcudart.so.

1)最近在使用tensorflow-gpu 2.2.0版本时遇到了Could not load dynamic library 'libcudart.so.10.1';Could not load dynamic library 'libcublas.so.10';Could not load dynamic library 'libcurand.so.10';....解决方法是安装于tensorflow-gpu版本对应的CUDA(建议使用anacoda虚拟环境)cond.

2020-08-08 19:52:21 1933 1

原创 python 遍历某个区间内的整数

查看range用法

2020-03-05 15:18:21 5552

原创 python dict查找操作时间复杂度

python: 在dict中查找某个key是否存在操作的时间复杂度为o(1);查找某个value是否存在操作的时间复杂度为o(1)一、查找key是否在dict中:该操作使用 object in dict 函数,首先对object进行hash变换,然后在dict中查找对应的地址,(图为dict中一个键值对的源码实现)也即是找到对应的键值对,然后对key进行比较(若有冲突链则继续比...

2020-03-05 14:15:01 9916 2

空空如也

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

TA关注的人

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