- 博客(29)
- 收藏
- 关注
原创 【一周力扣总结】简单逻辑、数据结构、单调栈、数值逻辑、哈希、逻辑设计,并查集、数学
周一有一个密钥字符串 S ,只包含字母,数字以及 ‘-’(破折号)。其中, N 个 ‘-’ 将字符串分成了 N+1 组。给你一个数字 K,请你重新格式化字符串,使每个分组恰好包含 K 个字符。特别地,第一个分组包含的字符个数必须小于等于 K,但至少要包含 1 个字符。两个分组之间需要用 ‘-’(破折号)隔开,并且将所有的小写字母转换为大写字母。给定非空字符串 S 和数字 K,按照上面描述的规则进行格式化。示例 1:输入:S = “5F3Z-2e-9-w”, K = 4输出:“5F3Z-2E9W”
2021-10-11 00:03:42
208
原创 ubuntu服务器配置Anconda和深度学习环境
一、下载安装Anconda1.从国内镜像源下载Anconda:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.11-Linux-x86_64.sh2.安装Anconda:bash Anaconda3-2020.11-Linux-x86_64.sh安装时会默认安装到home目录下,如果不是自己的服务器这里应选择安装到自己分配的目录下。3.配置环境变量:安装完成后需要配置环境变量:vim ~/.bash
2021-08-01 00:49:43
567
原创 LeetCode每日一题2021-7-31 987. 二叉树的垂序遍历
LeetCode 987. 二叉树的垂序遍历题目描述给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列。对位于 (row, col) 的每个结点而言,其左右子结点分别位于 (row + 1, col - 1) 和 (row + 1, col + 1) 。树的根结点位于 (0, 0) 。二叉树的 垂序遍历 从最左边的列开始直到最右边的列结束,按列索引每一列上的所有结点,形成一个按出现位置从上到下排序的有序列表。如果同行同列上有多个结点,则按结点的值从小到大进行排序。返回二叉树的
2021-08-01 00:47:46
249
原创 ubuntu18.0.4安装CUDA8
ubuntu18.0.4安装CUDA8在cuda的官网上,ubuntu18.0.4上最低的cuda版本是10,但是有些老项目用的是cuda8,本文记录了在ubuntu18.0.4上安装cuda8的全过程。一、首先下载cuda安装文件地址https://developer.nvidia.com/Cuda-Toolkit-archive选择runfile类型的安装文件,注意两个文件都要下载。二、然后将gcc版本降级因为ubuntu18.0.4自带版本是7(查看gcc版本的命令是 gcc --vers
2020-12-20 17:51:03
964
4
原创 最长公共子序列,最长公共子串,最长上升序列 动态规划
最长公共子序列,最长公共子串,最长上升序列 动态规划1.最长公共子序列给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共子序列,则返回 0。示例
2020-11-26 20:38:01
157
原创 LeetCode每日一题2020-9-29 145. 二叉树的后序遍历
LeetCode每日一题2020-9-29 145. 二叉树的后序遍历题目描述给定一个二叉树,返回它的 后序 遍历。解题思路可以使用递归的方法,先遍历左子树,再遍历右子树。题解代码/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(
2020-09-29 23:36:42
146
原创 LeetCode每日一题 2020-9-28 117.填充每个字节的下一个右侧结点指针II广度优先搜索,队列
LeetCode每日一题 2020-9-28 117.填充每个字节的下一个右侧结点指针II广度优先搜索,队列题目描述给定一个二叉树struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。进阶:你只能使用常量级额外空间。使用递归解题也符合要求,本题中递
2020-09-28 23:21:52
113
原创 LeetCode每日一题 2020-9-27 235.二叉搜索树的最近公共祖先 ,二叉搜索树
LeetCode每日一题 2020-9-27 235.二叉搜索树的最近公共祖先 ,二叉搜索树题目描述给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0
2020-09-28 00:00:17
96
原创 LeetCode每日一题 2020-9-26 113.路径总和II 深搜,二叉树的深度优先遍历
LeetCode每日一题 2020-9-26 113.路径总和II 深搜,二叉树的深度优先遍历题目描述给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/path-sum-ii解题思路本题用深度优先搜索的方法,记录根节点到叶子节点路径上的结点值和路径和最后比较就可以解题。本题中没有说明结点值的取值范围,否则可以使用剪枝。
2020-09-26 23:04:07
154
原创 LeetCode每日一题2020-9-21 538.把二叉搜索树转换为累加树,二叉树遍历顺序问题
LeetCode每日一题 538.把二叉搜索树转换为累加树,二叉树遍历顺序问题题目描述给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如:解题思路排序树的先序遍历就是从小到大遍历,如果翻过来便是从大到小了,也就是先遍历右子树然后遍历根最后遍历左子树。在反序遍历的过程中需要记录已遍历过的结点的和,然后加到后续遍历的节点上。题解代码/** * Definition for a
2020-09-21 22:22:02
105
原创 LeetCode每日一题 2020-9-20 78.子集 dfs,满二叉树
LeetCode每日一题 2020-9-20 78.子集 dfs,满二叉树题目描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:解题思路一个集合的幂集总共包含2n,联想满二叉树,一颗高度为n的满二叉树的叶子结点总共有2n个叶子结点,所以可以用一颗满二叉树来表示一个集合的幂集。如下图(0代表不取第n个数,1代表取第n个数):题解代码class Solution {public:void dfs(int t,vector&
2020-09-20 23:29:09
140
原创 LeetCode每日一题 404.左叶子之和 递归
LeetCode每日一题 404.左叶子之和 递归题目描述计算给定二叉树的所有左叶子之和。示例:解题思路本题可以使用递归的方法遍历题目给出的树,然后在遍历的过程中记录是左孩子还是有孩子,如果是左孩子,且是叶子节点,则将其加入最后的结果。注意,本题中如果只有一个根节点,不能加入结果。题解代码/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left;
2020-09-19 23:53:12
154
原创 LeetCode每日一题 47.全排列II深搜dfs
LeetCode每日一题 47.全排列II深搜dfs** 题目描述**给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]]解题思路题解代码class Solution {public: void dfs(int t,vector<int> &nums,set<vector<int>> &ans){ if(t>=nu
2020-09-18 23:56:45
531
原创 LeetCode每日一题 2020-9-14 94.二叉树的中序遍历 递归,中序遍历
LeetCode每日一题 2020-9-14 94.二叉树的中序遍历 递归,中序遍历题目描述给定一个二叉树,返回它的中序 遍历。示例:解题思路本题是一个比较常规的二叉树遍历题,可使用递归的方法。递归的结束条件可设为传入的节点为空,先递归遍历左子树结点,直至退出时遍历此结点,然后递归遍历右子树结点。题解代码/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode
2020-09-14 23:20:44
124
原创 软件项目管理 项目任务和任务间依赖关系
软件项目管理 项目任务和任务间依赖关系项目任务和任务间依赖关系1、实验目的:(1)学习利用Project创建任务列表,编辑任务列表,排定任务日程,建立任务相关性,拆分任务和任务限制等。(2)熟悉Project中周期任务、文本样式和甘特图样式、时间刻度、网格线等的设置步骤;(3)筛选器、突出显示和分组的使用方法2、工具/准备工作:(1)在开始本实验之前,请回顾教科书的相关内容;(2)需要准备一台安装了Microsoft Project 2016软件的计算机。3、实验素材:4、实验内
2020-09-14 22:32:51
4844
原创 LeetCode每日一题 79.单词搜索 回溯dfs应用
LeetCode每日一题 79.单词搜索 回溯dfs应用题目描述给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[[‘A’,‘B’,‘C’,‘E’],[‘S’,‘F’,‘C’,‘S’],[‘A’,‘D’,‘E’,‘E’]]给定 word = “ABCCED”, 返回 true给定 word = “SEE”, 返回 t
2020-09-13 23:51:41
112
原创 LeetCode每日一题 2020-9-12 637.二叉树的平均值 队列,层次遍历,广度优先搜索
LeetCode每日一题 2020-9-12 637.二叉树的平均值 队列,层次遍历,广度优先搜索题目描述给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。示例 1:输入:输出:[3, 14.5, 11]解释:第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。提示:节点值的范围在32位有符号整数范围内。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/avera
2020-09-12 23:52:01
173
1
原创 LeetCode每日一题 2020-9-11 216.组合总和III 回溯dfs 子集树 +剪枝
LeetCode每日一题 2020-9-11 216.组合总和II 回溯dfs+剪枝题目描述找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。解集不能包含重复的组合。示例 1:输入: k = 3, n = 7输出: [[1,2,4]]示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]]来源:力扣(LeetCode)链接:https://le
2020-09-11 23:42:12
151
原创 LeetCode每日一题 40.组和总和II 回溯dfs+去重
LeetCode每日一题 40。组和总和II 回溯dfs+去重题目描述给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解集为:[[1, 7],[1, 2, 5],[2
2020-09-10 22:23:10
117
原创 LeetCode每日一题 2020-9-9 39.组合总和 回溯dfs
LeetCode每日一题 2020-9-9 39.组合总和 回溯dfs题目描述给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入:candidates = [2,3,6,7], target = 7,所求解集为:[[7],[2,2,3]]示例 2
2020-09-09 22:26:55
241
原创 LeetCode每日一题 2020-9-8 77.组合——回溯法dfs+剪枝
LeetCode每日一题 2020-9-8 77.组合——回溯法dfs+剪枝题目描述给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]解题思路本题可用回溯法解决,可采用子集树的结构,如下图所示。可使用一棵高度为N+1子集数来表示从N个数中选择的所有情况,其中0代表不取这个数,1代表取这个数,最后的叶子结点便是选出来的结果。在回溯过程中,
2020-09-08 19:18:59
473
原创 LeetCode每日一题 2020-9-7 347.前K个高频元素,map(哈希),排序
LeetCode每日一题 2020-9-7 347.前K个高频元素,map(哈希),排序题目描述给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示:你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。你的算法的时间复杂度必须优于 O(n log n) , n 是数组的大小。题目数据保证答案唯
2020-09-07 23:59:41
795
原创 LeetCode每日一题2020-9-6 107.二叉树的层次遍历II 广度优先搜索
LeetCode每日一题2020-9-6 107.二叉树的层次遍历II 广度优先搜索题目描述给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7],返回其自底向上的层次遍历为:[[15,7],[9,20],[3]]解题思路本题涉及树的层次遍历,也就是广度优先遍历。这里需要用到队列这一数据结构,遍历过程中需要记录当前层的结点,然后从左往右依次加入当前层的结点的孩子结点,
2020-09-06 21:28:59
133
原创 LeetCode54螺旋矩阵——改变方向,顺序输出
LeetCode54螺旋矩阵——方向转变题目描述:给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[[1, 2, 3, 4],[5, 6, 7, 8],[9,10,11,12]]输出: [1,2,3,4,8,12,11,10,9,5,6,7]解题思路://可以时间
2020-09-05 18:16:12
202
原创 LeetCode每日一题 2020-9-5 60.第k个排列
LeetCode每日一题 2020-9-5 6.第k个排列题目描述给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。说明:给定 n 的范围是 [1, 9]。给定 k 的范围是[1, n!]。示例 1:输入: n = 3, k = 3输出: “213”示例 2:输入: n = 4, k
2020-09-05 18:06:11
211
原创 LeetCode每日一题 2020-9-4 257二叉树的所有路径
leetcode每日一题 257. 二叉树的所有路径题目描述给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。示例:输入:1/ 2 35输出: [“1->2->5”, “1->3”]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3解题思路本题考察二叉树的深度优先搜索,可使用回溯法对给定二叉树进行深搜,注意搜索过程中保存路径上的结点信息,当到达叶子节点时生成路径,并回溯继续搜索
2020-09-05 00:07:36
136
原创 蓝桥杯试题 算法训练 猴子吃包子——大整数操作思想
蓝桥杯试题 算法训练 猴子吃包子题目资源限制时间限制:1.0s 内存限制:256.0MB问题描述 从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同;肉包每秒钟吃x个;韭菜包每秒钟吃y个;没有馅的包子每秒钟吃z个;现在有x1个肉包,y1个韭菜包,z1个没有馅的包子;问:猴子吃完这些包子要多久?结果保留p位小数。输入格式 输入1行,包含7个整数,分别表示吃不同包子的速度和不同包子的个数和保留的位数。输出格式 输出一行,包含1个实数,表示吃完所有包子的
2020-07-20 01:05:51
197
原创 丑数II,LeetCode264,三指针法
丑数II,LeetCode264,三指针法题目描述:编写一个程序,找出第 n 个丑数。丑数就是质因数只包含 2, 3, 5 的正整数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明:1 是丑数。n 不超过1690。解题思路丑数的质因数中只包含2,3,5,所以1之后的丑数一定是2或3或5的其中一个/两个/三个 的倍数。第n(n>1)个丑数一定比第n-1个丑数大,用一个数组uglyNum记录前16
2020-07-19 13:38:53
219
1
原创 蓝桥_合根植物 并查集思想
蓝桥_合根植物 并查集思想合根植物_并查集思想并查集是一种简单的集合表示,t通常用树(森林)作为存储结构。在整个集合中的各个子集合用树表示,其中一个子集合是共用同一个祖先结点的所有子结点和叶子节点(也就是同一棵树)。有以下三种操作:Union(S,root1,root2)在集合S(全集)中,将root2子集合并入root1子集合;Find(S,x),在集合S中,找结点x的祖先结点(根节点);Initial(S),S结合的初始化。主要是其中的union和find操作,并查集主要在“并”操作上。
2020-07-18 01:34:12
232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人