自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 收藏
  • 关注

原创 时针,分针重合时刻 c++

输入现在的时刻,计算出time和time+1之间,时针和分针重合的时刻,要求。2.输出 介于0:00~23:59的时间。假设当前是a时b分,则。1.输入 0~23之间的整数,例如2。

2023-03-27 18:10:26 729 1

原创 时针和分针重合时刻

1~12h 每一小时分针和时针都会重合一遍,而0~1h内,时针和分针不会重合,也就是说,在完整的12小时内,分针和时针只会重合11次。时针:时针每分钟走整个钟面的360/12=30°,1小时转30度。30/60=0.5°所以时针每分钟转0.5°。输入现在的时刻,计算出time和time+1之间,时针和分针重合的时刻,要求。分针:分针每分钟走整个钟面的360/60=6°,所以分针每分钟转6°。2.输出 介于0:00~23:59的时间。1.输入 0~23之间的整数,例如2。

2023-03-27 18:08:14 1083

原创 PostgreSQL 基础--常用命令

postgres

2022-07-29 15:42:47 3486

原创 Windows搭建rabbitmq 和erlang踩坑合集

rabbitmq环境搭建踩坑

2022-07-08 17:43:50 885

原创 JZ26 树的子结构

题目链接:树的子结构_牛客题霸_牛客网注意点:1.先在树A中找到值为树B根节点的值的节点,然后判断这个节点的子树是否含有和树B一样的结构。第一步中,查找与根节点值一样的节点,采用递归的方法来遍历树。 第二步中,同样采用递归的方法,判断判断当前对应节点是否相同,然后递归判断左、右节点,递归终止条件是到达了叶节点。2.原书解法为递归的思想,我用的是非递归的/*struct TreeNode { int val; struct TreeNode *left; struct Tre

2022-04-27 15:10:51 258

原创 JZ7 重建二叉树

题目链接:重建二叉树_牛客题霸_牛客网注意点:找到前序遍历的根节点,然后再确定中序遍历中根节点的左右子树。切割空间的范围用的是分治法,按照左开右闭的原则,多写多调试吧。/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL)

2022-04-26 16:37:21 91

原创 JZ54 二叉搜索树的第k个节点

题目链接:二叉搜索树的第k个节点_牛客题霸_牛客网注意点:中序遍历的模板,中旬遍历的顺序是左根右/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * }; */class Solution {public: /**

2022-04-26 14:31:08 1820

原创 JZ77 按之字形顺序打印二叉树

注意点:每一层都村早vector中,反转不会破坏二叉树的结构/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: vector<vector<i

2022-04-26 12:53:36 74

原创 JZ55 二叉树的深度

题目链接:二叉树的深度_牛客题霸_牛客网注意点:1.队列的应用:每一层的头节点先如队列,再弹出作为队头,后续入队的均为左右孩子,弹出层数2.队列:C++队列queue用法详解_KEPROM的博客-CSDN博客_c++ queue2.官方推荐的递归:分治法,左右递归找到最深的节点层数,求出最大的在+1(根节点)目录方法一:队列方法二:递归方法一:队列/*struct TreeNode { int val; struct TreeNode *left;

2022-04-24 18:41:38 1315

原创 JZ18 删除链表的节点

题目链接:删除链表的节点_牛客题霸_牛客网注意点:删除的链表节点需要先保存一下,然后再连接上下一位free删除的节点/** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : val(x), next(nullptr) {} * }; */class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回

2022-04-24 12:56:19 1153

原创 347. 前 K 个高频元素(c++)

给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示:1 <= nums.length <= 105k 的取值范围是 [1, 数组中不相同的元素的个数]来源:力扣(LeetCode)链接:https://leetcode-cn.com/pr.

2022-04-23 12:24:38 657

原创 JZ76 删除链表中重复的结点

题目链接:删除链表中重复的结点_牛客题霸_牛客网注意点:1.考虑头节点重复,所以构造虚拟头节点1.方法一参考了评论区:申请两个指针的pre和cur,pre指向cur的前一个节点,cur指向当前节点,如果cur和cur->next的val想等,就循环找出所有重复节点的末尾,然后pre跳到不重复的节点上即可,时间和空间复杂度都是O(n)。2.方法二:哈希去重,记录每个节点出现的次数,大于1的指向下一个节点目录方法一:双指针方法二:哈希方法一:双指针/*s

2022-04-22 17:40:00 208

原创 JZ35 复杂链表的复制

题目链接:复杂链表的复制_牛客题霸_牛客网注意点:主要是考虑新旧节点的对应关系,以及random为空或者指向自己的情况/*struct RandomListNode { int label; struct RandomListNode *next, *random; RandomListNode(int x) : label(x), next(NULL), random(NULL) { }};*/class Solutio

2022-04-22 16:20:53 394

原创 JZ22 链表中倒数最后k个结点

题目链接:链表中倒数最后k个结点_牛客题霸_牛客网注意点:1.暴力查找:首先求链表长度len,如果小于k,就返回空,不小于k,走len-k不,得出的就是k个位置及后的元素2.快慢指针:慢指针指向头节点,快指针先走k步,大于链表长度返回空,如果快指针走到尾,慢指针指向的就是k个节点。目录方法一:暴力查找方法二:快慢指针方法一:暴力查找/** * struct ListNode { * int val; * struct ListNode *next; *

2022-04-22 13:00:48 504

原创 JZ23 链表中环的入口结点

注意点:1.首先想到的时快慢指针的,先判断链表是否有环,快指针比慢指针多走两步,如果发现环,让其中一个指针指向头节点,快指针和慢指针都是挪动一步,再次相遇遇到的就是环的入口2.set保存链表每一个节点的地址,如果出现第一个重复的就是环的入口方法一:快慢指针/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }

2022-04-19 21:59:53 287

原创 JZ52 两个链表的第一个公共结点

题目链接:1.常规做法:考虑两个链表的长度不一致,需要让长的那个先走abs(链1长度-链2长度)-,同步后两个指针第一个相等的就是公共节点2.官方建议:的一种思路是可以将两个链表连起来形成一个环,所以两个指针走的路一样,当p1的指针走到尾部后,从p2开始遍历。但是我总感觉这么做的话,如果没有公共节点可能会死循环,想法很妙,鲁棒性差一些方法一(常规做法)/*struct ListNode { int val; struct ListNode *next; ListNode(i

2022-04-19 16:23:29 580

原创 JZ25 合并两个排序的链表

题目链接:合并两个排序的链表_牛客题霸_牛客网注意点:1.选取新的链表头2.合并前两个链表状态的判断3.合并时一个链表已经为空的情况/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* Merge(ListNode* pHead1, ListNode

2022-04-18 14:09:05 115

原创 JZ24 反转链表

题目链接:反转链表_牛客题霸_牛客网注意点:1.可以设置两个节点用来存储链表的前一个节点和后一个节点2.如果不保存下一个节点,当前节点反转后,下一个节点位置就找不到了,所以反转前要保存当前节点的下一个节点/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode

2022-04-18 12:43:07 176

原创 JZ6 从尾到头打印链表

题目链接:从尾到头打印链表_牛客题霸_牛客网注意点:1.返回值时一个数组,考虑最后的结果用vector存储起来2.如果使用reverse,会造成链表结构的修改,需提前询问面试官是否可以2.链表的应用class Solution {public: vector<int> printListFromTailToHead(ListNode* head) { stack<ListNode*> nodes; ListNode*

2022-04-17 20:32:57 340

原创 HJ3 明明的随机数(c++)

题目链接:明明的随机数_牛客题霸_牛客网注意点:1.选取set较为合适 :C++ ——一文读懂:STL库set_华山令狐冲、的博客-CSDN博客_c set集合2.插入时候set的有点多了,不用if去判断,直接st.insert就可以#include <iostream>#include <set>using namespace std;int main(){ int n; while (cin >> n){ set&

2022-04-15 21:59:08 784

原创 C++ vector内存分配及正确释放

谈到vector的内存分配,首先要知道size()和capacity()方法的区别。前者求的是实际的vector元素个数,后者求的是实际占用内存的个数,一般来说,申请的内存capacity()是大于或等于size()的1.清空vector的元素:clear()2.释放内存:clear() +shrink_to_fit() 或 swap()1.clear()1.使用clear()不会真正释放内存,capacity()无变化#include <iostream>#i.

2022-04-14 18:35:52 20913 7

原创 HJ94 记票统计(c++)

题目链接:记票统计_牛客题霸_牛客网注意点:1.用的暴力求解,坑也不少,在遍历循环的时候要注意边界条件2.用pair类型的vector去存候选人的名字,票数初始化为03.时间复杂度时 O(mn),空间复杂度O(1);因为票数为常量不超过100#include<iostream>#include<vector>using namespace std;int main(){ int n; int tol = 0; string p

2022-04-14 18:02:36 226

原创 HJ97 记负均正(c++)

题目链接:记负均正_牛客题霸_牛客网注意点:注意1.for循环 ,i是从1开始2.小数点后1位的保存#include <iostream>#include <iomanip>using namespace std;int main(){ int n; while (cin >> n){ int sum = 0; //大于0的个数 int cnt = 0; //

2022-04-14 17:59:14 192

原创 HJ108 求最小公倍数(c++)

题目链接:求最小公倍数_牛客题霸_牛客网注意点:1.最小公倍数一定是较大数的倍数2.所以用暴力法去做的话,可以从最大的数开始,找到第一个可以整除的数据就是最小公倍数#include <iostream>using namespace std;int main(){ int m , n; while (cin >> m >> n){ for(int i = max(m,n); ; ++i){

2022-04-13 21:47:56 496

原创 HJ106 字符逆序(c++)

题目链接:字符逆序_牛客题霸_牛客网注意点:reverse的头文件是algorithm#include <iostream>#include <string>#include <algorithm>using namespace std;int main(){ string str, res; while (getline(cin ,str)){ reverse(str.begin(), str.end());

2022-04-13 21:21:54 497

原创 HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序(c++)

题目链接:输入整型数组和排序标识,对其元素按照升序或降序进行排序_牛客题霸_牛客网注意点:某个靓仔的vector排序讲的好:C++ vector容器的排序 (从小到大,从大到小)_Rosita.的博客-CSDN博客_vector容器排序#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){ int n; whi

2022-04-13 21:11:26 374

原创 HJ102 字符统计(c++)

题目链接:字符统计_牛客题霸_牛客网注意点:1.最适合选取的是map或者unordered_map2.依据本题的意思,sort排序无法对相同字符的数据进行排序#include <iostream>#include <vector>#include <map>#include <algorithm>using namespace std;bool cmp(pair<char, int> a, pair<char

2022-04-13 14:21:16 293

原创 HJ100 等差数列(c++)

题目链接:等差数列_牛客题霸_牛客网#include <iostream>using namespace std;int main(){ int n; while (cin >> n){ //做差的第一个元素 int tmp = 2; int sum = 0; for(int i = 0; i < n; i++){ sum += tmp;

2022-04-12 22:47:05 381

原创 HJ99 自守数(c++)

题目链接:自守数_牛客题霸_牛客网注意点:参考了评论区大佬的方法,简洁易懂1.首先0必定是自守数,算作初始为1。我们可以遍历1到n验证每个数i是否是自守数。2.如果它是自守数,那么i^2对i这么多位零的整十整百或者整千整万数取余就会得到i本身3.我们可以在遍历的时候初始取模为10,每当i等于模将其扩大十倍即可。#include <iostream>using namespace std;int main(){ int n ; int tmp =

2022-04-12 22:29:29 686

原创 HJ96 表示数字(c++)

题目链接:表示数字_牛客题霸_牛客网注意点:1.考虑用栈来处理,如果是数字就弹出,如果连续的数字需要判断2.方法二参考了其他人的方法,正则表达式C++正则表达式(匹配、搜索、替换)_神奇的小强的博客-CSDN博客_c++正则匹配#include <iostream>using namespace std;int main(){ string str; string res; while(getline(cin, str)){ int i =

2022-04-10 22:15:16 403

原创 HJ87 密码强度等级(c++)

题目链接:密码强度等级_牛客题霸_牛客网注意点:这道题的坑比较多1.大小写字符都包含的情况:lowletter && upletter,只要字母存在lowletter || upletter2.判断小写:islower,判断大写isupper(); 判断数字isdigit();3.奖励机制问题,注意题干要求只能选择一种以大优先,所以if的判断顺序只能从大到小#include<iostream>#include<string>using

2022-04-08 15:26:50 1044

原创 HJ91 走方格的方案数(c++)

注意点:经典动态规划问题#include<iostream>#include<vector>using namespace std;int main(){ int n, m; while (cin >> n >> m){ //表示第i和j列为止的方案数 //如果这里不好理解,可以改完 /* typedef longlong size_dp;

2022-04-08 15:24:56 1095

原创 1544. 整理字符串

题目链接:力扣方法一:字符串直接对比前后两位#include<iostream>#include<cstring>using namespace std;class Solution {public: string makeGood(string s) { //使用for循环遍历s字符串,由于中间会有删除操作会影响下标值,因此省略步长的操作 for(int i=0;i<s.size();)

2022-04-07 22:30:16 311

原创 HJ85 最长回文子串(c++)

题目链接:最长回文子串_牛客题霸_牛客网注意点:1.采用中心拓展法2.需要注意的是中心的数据可能是一个字符也可能是两个字符,所以需要比较这两种情况下最大的回文串#include<iostream>#include<string>using namespace std;//判断最长的回文数int longestPalindrome(string &s, int left, int right){ while(left >=0 &am

2022-04-07 16:14:12 696

原创 HJ84 统计大写字母个数(c++)

题目链接:统计大写字母个数_牛客题霸_牛客网#include<iostream>#include<cstring>#include<cctype>using namespace std;int main(){ string str; int cnt = 0; while (getline(cin,str)){ for(int i = 0; i < str.size(); ++i){ if

2022-04-07 13:02:41 476

原创 HJ83 二维数组操作(c++)

题目链接:二维数组操作_牛客题霸_牛客网注意点:没理解题意#include<iostream>using namespace std;int main(){ int m,n; while(cin >>m>>n){ if(m > 9 || n > 9) cout <<-1<<endl; else cout <<0 << endl; in

2022-04-07 12:43:19 400

原创 HJ81 字符串字符匹配(c++)

题目链接:字符串字符匹配_牛客题霸_牛客网注意点:1.set本身就是去重,且自动升序排序2.unordered_set没有顺序,但去重3.boolalpha:C++学习笔记之---boolalpha_杨鑫newlfe的博客-CSDN博客#include<iostream>#include <string>#include<unordered_set>using namespace std; int main(){ strin.

2022-04-06 17:55:21 298

原创 HJ80 整型数组合并(c++)

题目链接:整型数组合并_牛客题霸_牛客网注意点:set容器的特性:1.采用inset()方法把元素插入到集合中,插入规则在默认的比较规则下,是按元素值从小到大插入2、set集合中没有重复的元素#include<iostream>#include<set>using namespace std;int main(){ //m第一个数组长度,n第二个数组长度 int m,n; set<int> set; //输

2022-04-06 17:20:16 421

原创 HJ76 尼科彻斯定理(c++)

题目链接:尼科彻斯定理_牛客题霸_牛客网注意点:数学规律,每一个奇数的第一个数据都等于m * m - (m - 1)#include<iostream>using namespace std;int main(){ int m; while(cin >> m){ int first = m * m - (m - 1); cout << first; //输出第一个节点后的每个奇数 .

2022-04-06 16:47:24 246

原创 HJ73 计算日期到天数转换(c++)

题目链接:计算日期到天数转换_牛客题霸_牛客网注意点:闰年: 能被4整除,不能被100整除。 能被4整除,也能被400整除。#include <iostream>using namespace std;int main(){ int year,month,day; cin >>year>>month>>day; int data[13] ={0,31,28,31,30,31,30,31,31,30,31,30,3

2022-04-06 16:25:48 353

空空如也

空空如也

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

TA关注的人

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