自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(254)
  • 资源 (1)
  • 收藏
  • 关注

原创 PAT甲级 题解索引 1101-1155

...

2020-03-06 22:38:23 166

原创 PAT乙级 题解索引

...

2020-02-27 18:05:22 189

原创 LeetCode 111-120题 尚未看题解

111. 二叉树的最小深度难度简单365给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2. int minDepth(TreeNode* root) { if(root==NULL) return 0; ...

2020-09-17 19:34:54 162

原创 LeetCode 71-80题

71题跳过(这是CSP那个目录吗....)72. 编辑距离难度困难1136给你两个单词word1 和word2,请你计算出将word1转换成word2 所使用的最少操作数。你可以对一个单词进行如下三种操作:插入一个字符 删除一个字符 替换一个字符示例1:输入:word1 = "horse", word2 = "ros"输出:3解释:horse -> rorse (将 'h' 替换为 'r')rorse -> rose (删除 'r')...

2020-09-15 16:29:34 366

原创 LeetCode 61-70题 这是动态规划合集啊?受宠若惊

61空62. 不同路径难度中等680一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?示例1:输入: m = 3, n = 2输出: 3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向右 -> 向下...

2020-09-14 19:03:43 209

原创 LeetCode 51-60题

51. N 皇后难度困难603n皇后问题研究的是如何将 n个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的n皇后问题的解决方案。每一种解法包含一个明确的n 皇后问题的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。示例:输入:4输出:[ [".Q..", // 解法 1 "...Q", "Q...", "..Q."], ["..Q.", ...

2020-09-13 11:40:46 139

原创 LeetCode 41-50题

41. 缺失的第一个正数难度困难770给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例1:输入: [1,2,0]输出: 3示例2:输入: [3,4,-1,1]输出: 2示例3:输入: [7,8,9,11,12]输出: 1提示:你的算法的时间复杂度应为O(n),并且只能使用常数级别的额外空间。看了一些解法是把数组当做哈希表...,这个技巧好像还用的不是很少哦原地哈希 f(nums[i]) = nums[i...

2020-09-12 15:50:54 135

原创 LeetCode 31-40题

31. 下一个排列难度中等655实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1完全看不懂??32. 最长有效括号难度困难957给定一个只包含 '('和 ')'的字符串,找出最长的包含有效括号..

2020-09-11 21:44:38 187

原创 LeetCode 21-30 题

21. 合并两个有序链表难度简单1259将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4class Solution {public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode* l..

2020-09-11 10:51:24 128

原创 LeetCode 11-20 题

11. 盛最多水的容器难度中等1811给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为49。示例:输入...

2020-09-10 20:38:35 164

原创 LeetCode 1-10 题 3、4、5、7、9、10

1. 两数之和难度简单9073给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]哈希表或者直接遍历呀class Solution {public: ...

2020-09-10 10:55:57 199

原创 剑指 Offer 61-68

剑指 Offer 61. 扑克牌中的顺子难度简单55收藏分享切换为英文关注反馈从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。示例1:输入: [1,2,3,4,5]输出: True示例2:输入: [0,0,1,2,5]输出: Trueclass Solution {public: bool isStraig...

2020-08-13 21:30:48 92

原创 剑指 Offer 51-60

剑指 Offer 52. 两个链表的第一个公共节点难度简单83收藏分享切换为英文关注反馈输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点 c1 开始相交。示例 1:class Solution {public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { //让双指针浪漫相遇。 //如果是NULL就转到头。 .

2020-08-13 19:04:13 157

原创 剑指 Offer 41-50

剑指 Offer 42. 连续子数组的最大和难度简单102收藏分享切换为英文关注反馈输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。提示:1 <=arr.length <= 10^5 -100 <= arr[i] <= 100...

2020-08-13 11:56:10 115

原创 剑指 Offer 31-40

剑指 Offer 31. 栈的压入、弹出序列难度中等62输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我们可以按以下顺序.

2020-08-12 23:12:17 132

原创 剑指 Offer 21-30

剑指 Offer 21. 调整数组顺序使奇数位于偶数前面难度简单38收藏分享切换为英文关注反馈输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例:输入:nums =[1,2,3,4]输出:[1,3,2,4] 注:[3,1,2,4] 也是正确的答案之一。双指针class Solution {public: vector<int> exchange(vector<int&gt..

2020-08-12 16:30:02 108

原创 剑指 Offer 12-20

剑指 Offer 12. 矩阵中的路径难度中等140请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。[["a","b","c","e"],["s","f","c","s"],["a","d","e","e"]]但矩阵中不包含字符串“abf

2020-08-11 23:32:48 160

原创 剑指OFFER 03-11

剑指 Offer 03. 数组中重复的数字难度简单143找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000class Solution {public: int fin.

2020-08-11 21:59:50 100

原创 LeetCode hot-100 简单and中等难度,91-100.

461. 汉明距离难度简单307收藏分享切换为英文关注反馈两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。class Solution {public: int ham

2020-08-09 20:46:12 188

原创 LeetCode hot-100 简单and中等难度,81-90.

打家劫舍系列题198. 打家劫舍难度简单1005收藏分享切换为英文关注反馈你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (.

2020-08-09 20:17:56 179

原创 LeetCode hot-100 简单and中等难度,71-80.

279. 完全平方数难度中等538收藏分享切换为英文关注反馈给定正整数n,找到若干个完全平方数(比如1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例1:输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.从递归->动态规划的一个想法int numSquares(int n){ vector<i...

2020-08-09 18:46:35 176

原创 LeetCode hot-100 简单and中等难度,61-70.

207. 课程表难度中等520你这个学期必须选修 numCourse 门课程,记为0到numCourse-1 。在选修某些课程之前需要一些先修课程。例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]] 输出: true解释:总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的。示例 2:输入:...

2020-08-09 16:45:57 236

原创 LeetCode hot-100 简单and中等难度,51-60.

142. 环形链表 II难度中等570收藏分享切换为英文关注反馈给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node index 1解释:链表中有一个环,其尾部连...

2020-08-08 23:48:09 119

原创 LeetCode hot-100 简单and中等难度,41-50.

102. 二叉树的层序遍历难度中等589收藏分享切换为英文关注反馈给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]class Solution {public: vector<vector.

2020-08-08 17:06:00 302

原创 LeetCode hot-100 简单and中等难度,31-40.

75. 颜色分类难度中等527收藏分享切换为英文关注反馈给定一个包含红色、白色和蓝色,一共n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观的解决方案是使用计数排序的两趟扫描算法。 首先,迭代计算出0、1 和 2 元素的个数,..

2020-08-08 15:32:20 158

原创 LeetCode hot-100 简单and中等难度,21-30.

46. 全排列难度中等829给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]class Solution {public: unordered_map<int,bool> visit; vector<int> tmp; void get(int n,int

2020-08-08 01:09:01 132

原创 LeetCode hot-100 简单and中等难度,11-20.

20. 有效的括号难度简单1746收藏分享切换为英文关注反馈给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]"输出: false示例4:输入: "([)]"输...

2020-08-08 00:32:41 126

原创 LeetCode hot-100 简单and中等难度,1-10.

1. 两数之和难度简单8834给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class Solution {public: vector<in...

2020-08-07 16:58:31 174

原创 2020年7月25日春季PAT甲级满分记录

emmmmm其实我就是个弱鸡,3月份的时候刷题准备来着,然后一直玩到保研夏令营,真是太作死了.......现在想想都不知道能不能过浙大计算机的初审,o(╥﹏╥)o下面写的主要是思路和考试的心理历程:第一题:直接判断素数每次用string的erase(s.begin()) 再stoi(s)即可一开始还写的打表然后内存超限了- - 太久没写了这题考试时正确率应该有个50%第三题:没错弄完第一题,我看了下正确率,虽然此时提交数还很少,但果断做第三题(一般前两题有点小坑,按以往

2020-07-30 10:35:53 825 1

原创 CCF认证 201809-3元素选择器

大模拟1、存储 2、查找整体来看是树形结构总结:结构体建立struct element{ int father; string label,id;};vector<element> elements(105);//级数另外存储vector<vector<int>> series;series[0][2]=3;表示行号为3的元素的级数为0 element[3]读取输入C++ getline函数读取一行字符串

2020-07-12 22:13:22 60

原创 CCF计算机软件能力认证试题练习:201812-3 CIDR合并

1、如何表示IP地址2、排序3、从小到大合并4、同级合并最重要的思考如何表示IP地址使得后面的操作简便。操作包括排序和匹配。总结学到的://学到的//结构体1、定义数据结构的简单生成临时变量IP(string s,int len):s(s),len(len){}2、在struct中重载小于bool operator <(const IP &a)const{ return xx;}//字符串(输入切割很重要)3、专门定义一个函数处理字符串

2020-07-11 21:09:53 173

原创 算法竞赛入门经典学习进度

5.20 前五章

2020-05-20 20:41:56 114

原创 L2-016 愿天下有情人都是失散多年的兄妹 (25分)

犯了三次错误吧...因为我的做法是遍历把五代都找到存到vector里再比较。首先是把pow(,)参数1和参数2写反了,血崩;然后是判断能不能通婚要双重遍历;最后是性别那里,父母也是可以判断性别的,所以要加上gender,会有三个测试点。这种写法找错的话写个cout比较方便#include<bits/stdc++.h>using namespace std;...

2020-03-25 16:34:54 1598

原创 L2-031 深入虎穴 (25分)

dfs#include<bits/stdc++.h>using namespace std;const int maxn=100100;vector<int> v[maxn];int maxx=0;int id=-1;void dfs(int node,int cnt){ if(cnt>maxx){ maxx=cnt;id=n...

2020-03-25 16:16:16 219

原创 L2-027 名人堂与代金券 (25分)

就排个序然后排个名// 按总评成绩非升序输出进入名人堂的学生的名次、账号和成绩,其间以 1 个空格分隔。// 需要注意的是:成绩相同的学生享有并列的排名,排名并列时,按账号的字母序升序输出。#include<bits/stdc++.h>using namespace std;struct node{ string name; int grade;}stu...

2020-03-25 16:14:30 252

原创 L2-026 小字辈 (25分)

广度or深度优先搜索去标记辈分。好像用广度好一点哈,不过看了一下用时基本无差?#include<bits/stdc++.h>using namespace std;struct node{ int id; vector<int> child; int bei;}people[100100];bool cmp(node a,no...

2020-03-25 16:12:42 231

原创 L2-025 分而治之 (25分)

“孤立无援”用一个degree数组来判断,当这个点入度为0时就是孤立无援的。那么思路就是:首先用vector来存储与某顶点有通路的所有顶点(无向图),同时对应顶点degree++;然后每次判断一个方案,degree数组要重用一次,所以数组temp每次方案说一个顶点,将改顶点标记,将与该顶点有通路的所有顶点degree--,最后判断所有无标记顶点是否degree==0;// 我们希...

2020-03-25 16:06:39 165

原创 L2-024 部落 (25分)

社区总人数我是找编号的max(因为1-N编号),然后就普通并查集#include<bits/stdc++.h>using namespace std;int father[10010];void init(){ for(int i=0;i<10000;i++) father[i]=i; return;}int getFather(int a){ ...

2020-03-25 16:00:36 202

原创 L2-023 图着色问题 (25分)

求是否给出的颜⾊数量==k,并且任意两个点之间颜⾊都不同。用vector来存 与该顶点在一条边上的所有顶点,然后双重遍历即可。#include<bits/stdc++.h>using namespace std;const int maxn=510;// int g[maxn][maxn];vector<int> tu[maxn];int mai...

2020-03-25 15:57:31 243

原创 L2-022 重排链表 (25分)

又是模板链表题~给定一个单链表 L​1​​→L​2​​→⋯→L​n−1​​→L​n​​,请编写程序将链表重新排列为 L​n​​→L​1​​→L​n−1​​→L​2​​→⋯。vector版:(柳婼) r+1和 l-1是变回push时的坐标,当r+1大l-1 1的时候停止。int l = 0, r = v.size() - 1; while(1) { ans.push_bac...

2020-03-25 15:54:47 515

赫夫曼树的构建和赫夫曼编码的获取

赫夫曼树的构建和赫夫曼编码的获取,最基础的内容,将课程的伪代码变为了可运行的

2018-07-18

空空如也

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

TA关注的人

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