![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题
文章平均质量分 56
鲤鱼酒酒
聚沙成塔
展开
-
牛客网_HJ1_字符串最后一个单词的长度
从最后一个字符开始遍历,遇到第一个空格时的长度即为最后一个单词的长度。原创 2023-09-30 15:57:15 · 166 阅读 · 0 评论 -
LeetCode 55. 跳跃游戏
【代码】LeetCode 55. 跳跃游戏。原创 2023-03-11 21:43:45 · 59 阅读 · 0 评论 -
LeetCode 53. 最大子数组和(动态规划)
【代码】LeetCode 53. 最大子数组和(动态规划)原创 2023-03-11 10:56:25 · 63 阅读 · 0 评论 -
LeetCode 49. 字母异位词分组(哈希表)
【代码】LeetCode 49. 字母异位词分组(哈希表)原创 2023-03-11 10:43:16 · 94 阅读 · 0 评论 -
LeetCode 48. 旋转图像(数学问题)
public:for (i = 0;i < m;i++) {j < n;return;原创 2023-03-08 11:12:17 · 83 阅读 · 0 评论 -
LeetCode 46. 全排列(回溯)
【代码】LeetCode 46. 全排列(回溯)原创 2023-03-08 10:33:14 · 75 阅读 · 0 评论 -
LeetCode 39. 组合总和(递归)
【代码】LeetCode 39. 组合总和。原创 2023-03-08 10:01:04 · 66 阅读 · 0 评论 -
剑指 Offer 47. 礼物的最大价值(动态规划)
【代码】剑指 Offer 47. 礼物的最大价值(动态规划)原创 2023-03-08 09:09:54 · 89 阅读 · 0 评论 -
LeetCode 33. 搜索旋转排序数组(二分查找)
【代码】LeetCode 33. 搜索旋转排序数组(二分查找)原创 2023-03-07 10:29:13 · 64 阅读 · 0 评论 -
LeetCode 33. 搜索旋转排序数组(双指针)
【代码】LeetCode 33. 搜索旋转排序数组(双指针)原创 2023-03-06 23:19:08 · 80 阅读 · 0 评论 -
LeetCode 31. 下一个排列
【代码】LeetCode 31. 下一个排列。原创 2023-03-06 13:04:39 · 68 阅读 · 0 评论 -
LeetCode 617. 合并二叉树(递归)
【代码】LeetCode 617. 合并二叉树(递归)原创 2023-03-03 20:12:01 · 51 阅读 · 0 评论 -
LeetCode 543. 二叉树的直径 (dfs)
【代码】LeetCode 543. 二叉树的直径 (dfs)原创 2023-03-03 19:58:50 · 63 阅读 · 0 评论 -
LeetCode 461. 汉明距离(位运算)
【代码】LeetCode 461. 汉明距离(位运算)原创 2023-03-03 19:16:49 · 127 阅读 · 0 评论 -
LeetCode 338. 比特位计数
【代码】LeetCode 338. 比特位计数。原创 2023-03-02 15:01:50 · 121 阅读 · 0 评论 -
LeetCode 283. 移动零
【代码】LeetCode 283. 移动零。原创 2023-03-02 11:16:37 · 70 阅读 · 0 评论 -
LeetCode 面试题 05.02. 二进制数转字符串
2 取整数部分,直至乘后结果刚好为1。原创 2023-03-02 10:49:32 · 77 阅读 · 0 评论 -
剑指 Offer 32 - III. 从上到下打印二叉树 III(双端队列deque)
可以容易想到每次遍历一层后存下的tmp数组,用一个bool变量来判断从左到右还是从右到左,进行翻转。原创 2022-11-14 23:14:01 · 147 阅读 · 0 评论 -
剑指 Offer 31. 栈的压入、弹出序列
所以我们每向辅助栈压入一个元素,就判断目前popped序列的元素与栈顶元素是否相等,相等就pop,同时序列指向下一个元素,继续判断,直至不相等或者栈为空。当所有的push序列都压入之后,遍历也结束,如果辅助栈为空,则表示压出序列是正确的。压入压出的特点就是 在过程中可以压入再接着压出。借助一个辅助栈,来模拟序列的压入压出。像这种模拟题要抓住过程中最大的特点来写。原创 2022-11-14 20:50:50 · 237 阅读 · 0 评论 -
剑指 Offer 25. 合并两个排序的链表
但是后来看了题解,发现这里我有一个很大的误区,不应该new ListNode,重新创node是完全没有必要的,而是应该指向已有的那个节点。(具体代码和性能见第二份)官方题解有两种方法:递归和迭代。出于学习的目的,在学习实现的思想后我均进行理解和复现。最初简单的思路:比较两链表目前比较node的val,小的那个val就放到新节点里。节点如果不需要重新创,就不要重新创,可以减少不必要的内存和时间的浪费。原创 2022-10-25 11:25:44 · 125 阅读 · 0 评论 -
剑指 Offer 12. 矩阵中的路径
DFS,注意边界判断。原创 2022-10-21 11:11:41 · 113 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找
如果我们从左上到右下这种趋势去寻找,肯定是不好的,因为元素的右侧元素、下侧元素都比元素大,那么该往下走还是往左走,不好判断。但如果是从右上到左下这种趋势就会明了,如果target原创 2022-10-18 14:47:42 · 286 阅读 · 0 评论 -
剑指 Offer 09. 用两个栈实现队列(C++,辅助栈)
剑指 Offer 09. 用两个栈实现队列原创 2022-08-12 10:51:52 · 297 阅读 · 0 评论 -
剑指 Offer 30. 包含min函数的栈(辅助栈,C++)
剑指 Offer 30原创 2022-01-09 00:21:55 · 177 阅读 · 0 评论 -
LeetCode 1. Two Sum ——哈希表、C++类及指向类成员函数指针
PAT1139原题题目大意及思路代码运行截图收获原题题目大意及思路代码运行截图收获原创 2021-12-21 21:01:31 · 848 阅读 · 0 评论 -
LeetCode 1009. Complement of Base 10 Integer
leetcode 1560原题题目大意及思路代码运行截图收获原题题目大意及思路题目大意:思路:代码运行截图收获原创 2021-11-23 14:06:38 · 240 阅读 · 0 评论 -
leetcode 1560. Most Visited Sector in a Circular Track
leetcode 1560原题题目大意及思路代码运行截图收获原题题目大意及思路题目大意: 给定一个正整数n,和一个rounds数组。n代表马拉松的站点标号为1-N,rounds数组的意义:第i段路程的起点为rounds[i-1],终点为rounds[i]。思路: 用map存储每个站点的访问次数,最后找出访问最多的站点们~代码class Solution {public: vector<int> mostVisited(int n, vector<int>&原创 2021-10-29 22:10:44 · 135 阅读 · 0 评论 -
PAT1066 Root of AVL Tree(AVL)
PAT1139原题题目大意及思路代码运行截图收获原题题目大意及思路代码运行截图收获原创 2021-09-05 14:50:02 · 99 阅读 · 0 评论 -
PAT1058 A+B in Hogwarts
PAT1149原题题目大意及思路代码运行截图收获原题题目大意及思路代码运行截图收获原创 2021-09-01 20:59:26 · 105 阅读 · 0 评论 -
PAT1055 The World‘s Richest(结构体排序)
PAT1055原题题目大意及思路代码运行截图收获原题题目大意及思路简单的结构体排序代码#include<iostream>#include<algorithm>#include<vector>using namespace std;struct node{ string name; int year; long int wealth;};bool cmp(node a,node b){ if(a.wealth!=b.wealth) re原创 2021-08-31 19:02:13 · 102 阅读 · 0 评论 -
PAT1054 The Dominant Color(map)
PAT1054原题题目大意及思路代码运行截图收获原题题目大意及思路题目大意: 找出这张图中像素的数字出现最多的元素用map结构体记录,找到出现次数最多的元素。由于题中保证了该元素出现次数一定大于m*n/2,故只需判断it->second>m*n/2即可代码#include<iostream>#include<map>using namespace std;int main(){ int m,n; cin>>m>>n;原创 2021-08-31 17:49:39 · 96 阅读 · 0 评论 -
PAT1100 Mars Numbers
PAT1100原题题目大意及思路代码运行截图收获原题题目大意及思路**题目大意:**将火星文转化为数字,数字转化为火星文**思路:**首先用getline读取一行字符,通过判断第一个字符是数字还是字母来确定到底是哪种转换;再通过判断字符字数判断如何乘。代码#include<iostream>#include<cstring>#include<map>using namespace std;int main(){ int n; scanf("%原创 2021-08-30 21:17:38 · 105 阅读 · 0 评论 -
PAT1117 Eddington Number
PAT1117原题题目大意及思路代码运行截图收获原题题目大意及思路题目大意: 从n到1找到第一个i使得大于i的数>=i思路: 用一个count来记录现有的比i大的数,从n往前找到第一个i<=count的数代码#include<iostream>#include<vector>using namespace std;int main(){ int n; cin>>n; vector<int> a(n+2); for(int原创 2021-08-22 23:56:51 · 80 阅读 · 0 评论 -
PAT1129 Recommendation System(set,运算符重载)
PAT1129原题题目大意及思路代码运行截图收获原题题目大意及思路**题目大意:**每输入一个数,就输出k个推荐的数(首先按之前出现频率最高的从后排,若出现频率一致,则index小的在前)**分析:**这个推荐是实时更新的,所以选取一个合适的数据结构很重要,这里我选取了数据类型为node的set结构,在这里由于需要排序,所以重载了运算符。代码#include<iostream>#include<vector>#include<set>using n原创 2021-08-21 14:21:19 · 105 阅读 · 0 评论 -
1145 Hashing - Average Search Time(哈希,平方探测法)
PAT1145原题题目大意及思路代码运行截图![在这里插入图片描述](https://img-blog.csdnimg.cn/73923c4f23ea4cee9bcafb701ce53e18.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3ZpcnR1YWxfWUw=,size_16,color_FFFFFF,t_70)收获原题题目大意及思路原创 2021-08-20 01:00:15 · 348 阅读 · 0 评论 -
PAT1076 Forwards on Weibo(图的遍历,BFS)
PAT1076原题题目大意及思路代码运行截图收获原题题目大意及思路给出了一个有向图,给定一个数,找出在l步内能到达它的节点个数(不重复)这里我采用了队列实现BFS,通过一个 exist数组对已经访问的结点进行剪枝,优化了时间性能。代码#include<iostream>#include<vector>#include<queue>#include<unordered_set>using namespace std;const int原创 2021-08-17 20:53:09 · 98 阅读 · 0 评论 -
PAT1079 Total Sales of Supply Chain(DFS)
PAT1079原题题目大意及思路代码运行截图收获原题题目大意及思路此题题干与 PAT1106 Lowest Price in Supply Chain(树、邻接表、DFS)一致,可参考该题的解题思路。不同点:本题是算出所有节点的销量*售价,后者是比较得出最小售价。代码#include<iostream>#include<vector>#include<cmath>using namespace std;double ans=0,p,r;const原创 2021-08-17 16:40:01 · 122 阅读 · 0 评论 -
PAT1086 Tree Traversals Again(树的遍历,栈)
PAT1086原题题目大意及思路代码运行截图收获原题题目大意及思路通过输入的语句来构建树,输出树的后序序列。该题可通过push和pop语句分别找到先序、中序序列:先序序列即push语句输入的节点顺序;中序序列即pop语句pop出来的结点顺序;通过先序、中序得到后序序列。代码#include<iostream>#include<cstring>#include<stack>#include<vector>using namespace原创 2021-08-17 15:41:36 · 93 阅读 · 0 评论 -
PAT1094 The Largest Generation(DFS,树)
PAT1094原题题目大意及思路代码运行截图收获原题题目大意及思路找到给定的树中节点最多的层,并输出其节点数和层数。这里我主要采用邻接表存储每个结点的孩子节点,用DFS来遍历整棵树,并用一个数组存储下每层的孩子数量。在程序的最后找到结点最多的层数。代码#include<iostream>#include<vector>using namespace std;vector<int> layer(100);vector<int> chil原创 2021-08-16 18:19:01 · 128 阅读 · 0 评论 -
PAT1096 Consecutive Factors
PAT1149原题题目大意及思路代码运行截图收获原题题目大意及思路给定一个数,若一个序列是连续数,相乘后为它的因子,找到这种序列里数量最大的序列,且序列元素最小的那一个。从2开始遍历,到sqrt(n)+1;在一次遍历中首先判断n是否能被count*i整除,若能,首先看i是不是序列第一个元素(若是则记录下来,接着看i+1是否可以);若不行,nowfirst更换为i-num+1(和KMP算法思想类似),继续遍历。代码#include<iostream>using namespac原创 2021-08-15 17:54:00 · 101 阅读 · 0 评论