自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zgscsed的博客

十年磨剑 只为绝世锋芒

  • 博客(88)
  • 收藏
  • 关注

原创 【无标题】

2、使用anaconda powershell prompt来创建新的python虚拟环境命令。如果只是用的国内的网,conda下载比较慢,因此有必要更换源。1)创建虚拟环境, 并且下载对应python版本。本文用来记录anaconda使用中用到的命令。

2023-06-07 00:45:35 70

原创 ubuntu环境配置之cuda10+tensorflow-gpu

ubuntu环境配置之tensorflowcuda10和cudnn7.4.2下载安装cudnn7.4.2安装Anaconda下载安装安装创建环境cuda10和cudnn7.4.2下载安装cuda10 到官网上选择合适的版本下载即可,这里选啦cuda10。最后下载run文件进行安装。cuda安装流程中默认设置。cudnn7.4.2安装解压sudo tar -xvf cudnn-10.0-linux-x64-v7.6.5.32.tgz将对应文件复制到cuda目录中sudo cp cuda/in

2021-06-04 08:48:23 325

原创 WIN10+Ubuntu16.4 双系统,遇到的坑

安装双系统遇到的的问题Ubuntu 登录界面卡住无线网络不能使用最近想在ubuntu 下跑项目代码,因此在笔记本上安装啦双系统,记录下一路上遇到的问题。笔记本参数:Lenovo 拯救者Y7000,CPU: i5,显卡: NVIDIA 1050 ti信息来源:https://blog.csdn.net/nurke/article/details/76465968https://blog.csdn.net/u010372269/article/details/81604153Ubuntu

2021-02-04 14:03:30 381

原创 VMware ubuntu16安装

VMware ubuntu16安装虚拟机安装ubuntu16安装步骤虚拟机安装ubuntu16先准备好VMware软件 和 ubuntu16镜像。安装步骤新建一个虚拟机,选择自定义,然后点击 下一步。点击 下一步选择 稍后安装操作系统, 点击 下一步。根据自己的情况选择。 然后点击 下一步。设置 虚拟机存放位置。设置cpu数量。设置内存,设置大点比较好。按照个人电脑配置分配。网络方式,我这里选择NAT,根据自己的需要选择就好。默认

2021-02-03 12:31:16 5685

原创 tx2 刷机, cudnn安装失败,手动安装

手动安装cudnn所需文件安装文件拷贝到cuda的路径查看cudnn的版本删除旧版cudnn最近使用Jetpack 4.2, 刷完系统后,发现cudnn没有装上,因此准备离线安装。所需文件这些安装包在刷机过程中下载到默认的位置,一般是在nvidia/sdkm_downloads目录下。libcudnn7_7.6.3.28-1+cuda10.0_arm64.deblibcudnn7-dev_7.6.3.28-1+cuda10.0_arm64.deb安装使用安装下面的命令顺序安装2个.deb文

2021-02-01 16:13:45 283

原创 win10配置CUDA9和cuDNN

安装流程cuda和cudnn下载CUDA安装cuDNN安装cuda和cudnn下载CUDA Toolkit 9.0 Downloadhttps://developer.nvidia.com/cuda-90-download-archivecuDNN Downloadhttps://developer.nvidia.com/rdp/cudnn-downloadCUDA安装下载完安装包后就开始安装。选择安装路径,然后点击OK即可。之后等待程序加载进入下一步操作。这里直接点继续。点击同意并继

2021-01-13 17:31:36 422

原创 leetcode 题库894-- 所有可能的满二叉树

894-- 所有可能的满二叉树思路:这道题,要求满二叉树的所有可能,采用递归比较简单。递归流程:根节点占一个节点,然后就是考虑左右子树的可能。首先根据满二叉树的性质确定递归中断的条件:不能是偶数节点;节点数为1,就只有根节点。不需要在递归下去。左右子树的可能通过递归求得,最后就是将左右子树和根节点组合。 //这个题考虑递归 //这个函数意思:返回n个节点构成符合条件的树列表 vector<TreeNode*> allPossibleFBT(int N) {

2020-08-07 11:22:49 151

原创 常用的排序算法

常用的排序算法总结冒泡排序冒泡排序,每次遍历都把最大元素(也可以是最小元素)放到无序数组的最后面。冒泡排序是一个稳定的排序算法。时间复杂度计算:最优情况下,已经排好序了,只需双层循环,n*(n-1)/2 。是O( n^2 );最坏情况,元素是逆序,每次遍历都要3次交换, 3n*(n-1)/2。是O( n^2 );void bubbleSort(std::vector<int>& arr){ int len = arr.size(); for (int i = 0; i

2020-07-24 21:05:39 111

原创 万万没想到之抓捕孔连顺

万万没想到之抓捕孔连顺题目描述我叫王大锤,是一名特工。我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺。和我一起行动的还有另外两名特工,我提议我们在字节跳动大街的N个建筑中选定3个埋伏地点。为了相互照应,我们决定相距最远的两名特工间的距离不超过D。我特喵是个天才! 经过精密的计算,我们从X种可行的埋伏方案中选择了一种。这个方案万无一失,颤抖吧,孔连顺!……万万没想到,计划还是失败了,孔连顺化妆成小龙女,混在cosplay的队伍中逃出了字节跳动大街。只怪他的伪装太成功了,就是杨过本

2020-07-24 13:24:45 153

原创 字典序

题目描述给定整数n和m, 将1到n的这n个整数按字典序排列之后, 求其中的第m个数。对于n=11, m=4, 按字典序排列依次为1, 10, 11, 2, 3, 4, 5, 6, 7, 8, 9, 因此第4个数是2.对于n=200, m=25, 按字典序排列依次为1 10 100 101 102 103 104 105 106 107 108 109 11 110 111 112 113 114 115 116 117 118 119 12 120 121 122 123 124 125 126 12

2020-07-23 14:55:04 128

原创 调整数组顺序使奇数位于偶数前面

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。思路:不开辟额外数组的方法,使用两个索引,一个用来遍历数组,一个用来指向奇数的下一个位置,当遍历中遇到奇数的时候,就将j-1到i的所有数后移一位,将j的数放到i的位置,然后索引加一。 void reOrderArray(vector<int> &array) { int i = 0; //指向

2020-07-20 14:33:17 94

原创 链表中倒数第k个结点

链表中倒数第k个结点思路:使用快慢指针的思想,快慢指针,快慢指针之间间隔k个结点,当快指针指向链表最后结点的空指针时,慢指针指向倒数第k个结点。ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { if(k <=0) return nullptr; ListNode* fast = pListHead; ListNode* low = pListHead;

2020-07-20 14:29:34 98

原创 二叉搜索树的后序遍历序列

二叉搜索树的后序遍历序列方法一:递归判断,将后序遍历序列的左右子树递归判断下去因为后序遍历是:左右根节点。二叉搜索树中左节点小于根节点小于右节点。递归查找每个子树是否符合这个条件就行。bool VerifySquenceOfBST(vector<int> sequence) { int l = 0; int r = sequence.size()-1; if(l>r)

2020-07-20 13:32:35 90

原创 序列化二叉树

序列化二叉树题目描述请实现两个函数,分别用来序列化和反序列化二叉树二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(value!)。二叉树的反序列化是指:根据某种遍历顺序得到的序列化字符串结果str,重构二叉树。例如,我们可以把一个只有根节点为1的二叉树序列化为"1,"

2020-07-17 14:53:47 99

原创 把数组排成最小的数

把数组排成最小的数输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路:暴力法,找到所有排列,进行比较,选出最小的字符串。class Solution {public: string ans; string PrintMinNumber(vector<int> numbers) { vector<string> st

2020-07-17 10:01:16 235

原创 字符串的排列

字符串的排列输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。思路:这是一个全排列问题,然后排序。class Solution {public: vector<string> ans; set<string> res; //排好序了 vector<string> Permutation(string str)

2020-07-17 09:16:13 145

原创 数组中重复的数字

数组中重复的数字题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。思路:因为题目明确了长度为n的数组里的所有数字都在0到n-1的范围内,也就是说如果没有重复数字,每个数对应一个位置。因此,在遍历数组过程中,将num[i] !=i,就交换数num[i] , num[num[i]

2020-07-13 15:58:16 68

原创 链表中环的入口结点

题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。思路:用快慢指针起始点A, 快指针一次走2步,慢指针一次走1步,在C点重合。A->C的路径长度 == C->C的路径长度环的入口结点B,肯定在AC之间。A->B的路径长度等于C->B的路径长度。(因为都减去B->C)也就是说,用双指针指向A和C,同时1步移动,重合的节点就是入口结点。ListNode* EntryNodeOfLoop(ListNode* pHead) {

2020-07-13 12:40:40 94

原创 寻找最小子字符串

寻找最小子字符串小美和小团在玩一个游戏,小美任意给出一个大字符串str1以及一个独立的小字符串str2,小团需要从这个大字符串str1里找到包含独立小字符串str2中所有字符的最小子字符串str3;例如,小美给出一个大字符串"meituan2019"和一个子字符串"i2t",那么小团给出的答案就应该是"ituan2";需要注意:1、str1中有可能没有完整包含str2所有字符的情况,此时返回"",即为空字符串;2、str1不会为空,但str2有可能为空,此时返回整个str1;3、str2可能存在

2020-07-11 21:22:01 1044

原创 leetcode题库174 地下城游戏

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

2020-07-07 15:18:53 146

原创 leetcode题库--112路径总和

路径总和给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。思路:思路比较简单,就是递归将前面的和传下去,加上自身的值判断是否等于目标和。 bool hasPathSum(TreeNode* root, int sum) { if(dfs(root, sum, 0)) { return true; } ret.

2020-07-07 10:24:05 173

原创 leetcode题库--63不同路径 II

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?思路:这题是典型的动态规划问题,用dp[i+1][j+1] 表示到达第i行第j列有几种走法(这里行和列都多1,为了处理方便)。状态转移方程也很好写:到达每格位置只有两种方法:从上到下或从左到右。dp[i+1][j+1] = dp[i][j+1]

2020-07-06 09:14:33 2426

原创 leetcode 合并数组

合并两个有序链表将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { { if(!l1 || !l2) { return l1 ? l1 : l2; } ListNode head(0); ListNode* tail = &amp.

2020-07-02 10:33:50 324

原创 leetcode题库124-- 二叉树中的最大路径和

给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。、思路:这道题,首先要正确理解题目意思。返回一个最大路径和,很容易想到用递归地方法,将子节点的路径和求出,加上自身就是该节点为根的路径和。题目的要求是从任意节点出发,而不是子树的根节点出发,因此要将左右子树的路径和都加上才符合题意。当然,计算中需要判断左右子树路径和加自身节点值是否变小(也就是子树路径小于1) int sum_max =INT_MIN;

2020-06-22 08:57:59 363

原创 leetcode题库10--正则表达式匹配

给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。思路:因为有*号可以匹配多个字符,使用动态规划来保存所有匹配情况。dp[i][j]表示s的前i个字符和p的前j个字符匹配。有了状态,接下来就是考虑状态转移

2020-06-20 12:55:23 458

原创 leetcode 题库1028--从先序遍历还原二叉树

从先序遍历还原二叉树我们从二叉树的根节点 root 开始进行深度优先搜索。在遍历中的每个节点处,我们输出 D 条短划线(其中 D 是该节点的深度),然后输出该节点的值。(如果节点的深度为 D,则其直接子节点的深度为 D + 1。根节点的深度为 0)。如果节点只有一个子节点,那么保证该子节点为左子节点。给出遍历输出 S,还原树并返回其根节点 root。思路:因为给出的是先序遍历的二叉树,按照这个顺序重建二叉树,就需要将每个子树的根节点记录下来。这里使用了一个栈来保存根节点的指针和深度。新节点.

2020-06-18 09:56:53 154

原创 leetode题库5438--制作 m 束花所需的最少天数

5438. 制作 m 束花所需的最少天数给你一个整数数组 bloomDay,以及两个整数 m 和 k 。现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。思路:判断是否能制作成指定数量的花束,这里直接遍历,计算连续花朵数量,达到k朵,就将花束加一。int minDays(vector<

2020-06-14 21:00:11 207

原创 leetcode 题库46. 把数字翻译成字符串

面试题46. 把数字翻译成字符串给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。思路:这题其实和斐波那契数列很像,f(n) = f(n-1)+f(n-2)。但是f(n-2)多了一个限制,只有在10-25之间的数才满足。int translateNum(int num) { string str = to_

2020-06-09 09:13:23 151

原创 leetcode题库1277-- 统计全为 1 的正方形子矩阵

int countSquares(vector<vector<int>>& matrix) { //先求前缀和 int row = matrix.size(); int col = matrix[0].size(); vector<vector<int> > dp(row+1, vector<int>(col+1)); dp[1][1] = matrix[0]

2020-05-14 09:06:39 285

原创 二叉树遍历

层序遍历vector<vector<int>> levelOrder(TreeNode* root) { vector<vector<int>> res; if(root == nullptr) { return res; } //使用一个队列来保存每一行节点 queue<TreeNode*> queue_tree;

2020-05-13 18:20:13 180

原创 leetcode题库221-- 最大正方形

在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4思路问题要找到最大全为1的正方形。p(i,j)点为右下角的正方形,计算全为1的正方形的边长。很明显与p(i-1, j), p(i-1, j-1), p(i, j-1)三个点有关。p(i,j) = 三个点中的最小值加1.。画个图更好理解。 int maximalSquare(vector<vecto

2020-05-08 17:36:52 119

原创 leetcode题库572 -- 另一个树的子树

给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例 1:给定的树 s:思路s树的节点逐个进行判断,是否包含t。bool isSubtree(TreeNode* s, TreeNode* t) { if(s == nullptr &&am...

2020-05-07 13:51:15 123

原创 leetcode题库53-- 最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。思路动态规划,dp[i]表示以i结尾的子数组的和。因此状态转移方程dp[i] = max(dp[i-1]+nums[i], nums[i])。int m...

2020-05-03 14:02:11 116

原创 leetcode题库1014-- 最佳观光组合

给定正整数数组 A,A[i] 表示第 i 个观光景点的评分,并且两个景点 i 和 j 之间的距离为 j - i。一对景点(i < j)组成的观光组合的得分为(A[i] + A[j] + i - j):景点的评分之和减去它们两者之间的距离。返回一对观光景点能取得的最高分。示例:输入:[8,1,5,2,6]输出:11解释:i = 0, j = 2, A[i] + A[j] + i -...

2020-05-02 18:38:04 118

原创 leetcode题库5-- 最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"思路动态规划: 主要是要状态转移方程P(i,j)=(P(i+1,j−1)&&S[i]==S[j]),其中由于p(i,j)之前要知道p(i+1...

2020-05-01 17:01:22 181

原创 leetcode题库6-- Z 字形变换

将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函数:s...

2020-05-01 12:32:14 158

原创 leetcode题库3-- 无重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所...

2020-04-30 15:27:44 94

原创 leetcode题库522 --最长特殊序列 II

给定字符串列表,你需要从它们中找出最长的特殊序列。最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。子序列可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。输入将是一个字符串列表,输出是最长特殊序列的长度。如果最长特殊序列不存在,返回 -1 。示例:输入: “aba”, “cdc”,...

2020-04-29 20:20:35 214

原创 leetcode题库1370-- 上升下降字符串

给你一个字符串 s ,请你根据下面的算法重新构造字符串:从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。重复步骤 2 ,直到你没法从 s 中选择字符。从 s 中选出 最大 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最大 的字符,且该字符比上一个添加的字符小,将它...

2020-04-29 16:36:15 294

原创 leetcode题库1314-- 矩阵区域和

给你一个 m * n 的矩阵 mat 和一个整数 K ,请你返回一个矩阵 answer ,其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和:i - K <= r <= i + K, j - K <= c <= j + K(r, c) 在矩阵内。示例 1:输入:mat = [[1,2,3],[4,5,6],[7,8,9]], K ...

2020-04-28 13:17:59 239

空空如也

空空如也

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

TA关注的人

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