C++
文章平均质量分 50
别偷我能量
不生产代码,只做代码的搬运工
展开
-
Linux中的C/C++语言调试工具 GDB
GDB详解与实例演示原创 2023-06-09 14:35:28 · 1556 阅读 · 0 评论 -
C++ 返回多值
我们在使用C++编程的过程中,常常会遇到一个函数返回多个值的问题。下面就梳理了一下,C++中处理多返回值的中常用方法。原创 2023-02-28 17:02:19 · 2261 阅读 · 1 评论 -
[day1] 第十一届蓝桥杯大赛第二场省赛试题——回文日期
蓝桥省赛回文日期。原创 2023-02-27 16:54:10 · 283 阅读 · 0 评论 -
C++ 利用sort对二维Vecotr排序
C++ 实现二维数组的排序原创 2022-12-02 15:18:11 · 4451 阅读 · 3 评论 -
【LeetCode 1758】生成交替二进制字符串的最少操作数
冬月五日夜,解衣欲睡,心有所惑,卧久不寝,即起习之。原创 2022-11-29 03:25:53 · 851 阅读 · 2 评论 -
【C++中预处理语句 include、define、if】
预处理语句include、define、if 和 program原创 2022-11-26 17:15:12 · 1190 阅读 · 5 评论 -
C++线程创建的方式和使用
C++中创建线程的6种方式和使用。原创 2022-11-17 01:57:54 · 6647 阅读 · 4 评论 -
约瑟夫环问题(圆桌问题)
约瑟夫环(圆桌问题)原创 2022-11-09 18:12:07 · 392 阅读 · 0 评论 -
【LeetCode 150】逆波兰式求值
逆波兰(后缀)表达式求值原创 2022-11-07 15:57:58 · 543 阅读 · 0 评论 -
【周赛318 LeetCode 6230】长度为 K 子数组中的最大和
滑动窗口原创 2022-11-06 20:24:41 · 312 阅读 · 1 评论 -
【周赛318 LeetCode 6229 】对数组执行操作
时间复杂度O(n) 空间复杂度O(1)原创 2022-11-06 20:02:55 · 206 阅读 · 2 评论 -
【LeetCode 28 】找出字符串中第一个匹配项的下标
拒绝KMP原创 2022-11-04 20:58:54 · 256 阅读 · 0 评论 -
【按照字符出现的次数从高到低重新排列字符串】
按照字符出现的次数从高到低重新排列字符串原创 2022-10-25 00:01:52 · 347 阅读 · 1 评论 -
【LeetCode 679】24点游戏
给定一个长度为4的整数数组 cards。你有 4 张卡片,每张卡片上都包含一个范围在 [1,9] 的数字。您应该使用运算符 [‘+’, ‘-’, ‘*’, ‘/’] 和括号 ‘(’ 和 ‘)’ 将这些卡片上的数字排列成数学表达式,以获得值24。如果可以得到这样的表达式,其计算结果为 24 ,则返回 true ,否则返回 false。来源:力扣(LeetCode)原创 2022-09-20 16:30:25 · 1712 阅读 · 2 评论 -
【LeetCode 6182 反转二叉树的奇数层】
给你一棵 完美 二叉树的根节点 root ,请你反转这棵树中每个 奇数 层的节点值。反转后,返回树的根节点。完美 二叉树需满足:二叉树的所有父节点都有两个子节点,且所有叶子节点都在同一层。节点的 层数 等于该节点到根节点之间的边数。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/reverse-odd-levels-of-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。原创 2022-09-18 21:01:27 · 919 阅读 · 1 评论 -
C++学习——位操作
C++基础操作之位运算。原创 2022-08-06 17:31:59 · 2690 阅读 · 3 评论 -
【LeetCode6085 道路的最大总重要性】双周赛
题目描述给你一个整数 n ,表示一个国家里的城市数目。城市编号为 0 到 n - 1 。给你一个二维整数数组 roads ,其中 roads[i] = [ai, bi] 表示城市 ai 和 bi 之间有一条 双向 道路。你需要给每个城市安排一个从 1 到 n 之间的整数值,且每个值只能被使用 一次 。道路的 重要性 定义为这条道路连接的两座城市数值 之和 。请你返回在最优安排下,所有道路重要性 之和 最大 为多少。提示2 <= n <= 5 * 1041 <= roads原创 2022-05-29 00:33:12 · 172 阅读 · 1 评论 -
【LeetCode6084 最多单词数的发件人】双周赛
题目描述给你一个聊天记录,共包含 n 条信息。给你两个字符串数组 messages 和 senders ,其中 messages[i] 是 senders[i] 发出的一条 信息 。一条 信息 是若干用单个空格连接的 单词 ,信息开头和结尾不会有多余空格。发件人的 单词计数 是这个发件人总共发出的 单词数 。注意,一个发件人可能会发出多于一条信息。请你返回发出单词数 最多 的发件人名字。如果有多个发件人发出最多单词数,请你返回 字典序 最大的名字。注意:字典序里,大写字母小于小写字母。“Ali原创 2022-05-29 00:00:49 · 1301 阅读 · 1 评论 -
【LeetCode 6076(周赛)】表示一个折线图的最少线段数
题目描述给你一个二维整数数组 stockPrices ,其中 stockPrices[i] = [dayi, pricei] 表示股票在 dayi 的价格为 pricei 。折线图 是一个二维平面上的若干个点组成的图,横坐标表示日期,纵坐标表示价格,折线图由相邻的点连接而成。比方说下图是一个例子:题目连接来源:力扣(LeetCode)链接:https://leetcode.cn/problems/minimum-lines-to-represent-a-line-chart著作权归领扣网络所有。商原创 2022-05-22 12:50:08 · 2079 阅读 · 4 评论 -
【LeetCode 6067 】分割数组的方案数(动态规划)
题目描述给你一个下标从 0 开始长度为 n 的整数数组 nums 。如果以下描述为真,那么 nums 在下标 i 处有一个 合法的分割 :前 i + 1 个元素的和 大于等于 剩下的 n - i - 1 个元素的和。下标 i 的右边 至少有一个 元素,也就是说下标 i 满足 0 <= i < n - 1 。请你返回 nums 中的 合法分割 方案数。示例1:输入:nums = [10,4,-8,7]输出:2解释:总共有 3 种不同的方案可以将 nums 分割成两个非空的部分原创 2022-05-15 00:00:57 · 328 阅读 · 1 评论 -
C++ 最小公倍数和最大公约数
最小公倍数和最大公约数参考博客连接两者之间的关系x和y的最小公倍数和最大公约数的关系X*Y = 最小公倍数 * 最大公约数求最大公约数1.辗转相除法int test(int x,int y){ while(x%y!=0){ int z=x; x=y; y=z%y; } return y;}2.暴力int test1(int x,int y){ int ans=1; for(int i=1;i<=x;i++) if(y%i==0 && x原创 2022-05-14 11:54:08 · 666 阅读 · 2 评论 -
【LeetCode 6057】 统计值等于子树平均值的节点数(周赛)
题目描述给你一棵二叉树的根节点 root ,找出并返回满足要求的节点数,要求节点的值等于其 子树 中值的 平均值 。注意:n 个元素的平均值可以由 n 个元素 求和 然后再除以 n ,并 向下舍入 到最近的整数。root 的 子树 由 root 和它的所有后代组成。示例1输入:root = [4,8,5,0,1,null,6]输出:5解释:对值为 4 的节点:子树的平均值 (4 + 8 + 5 + 0 + 1 + 6) / 6 = 24 / 6 = 4 。对值为 5 的节点:子树的原创 2022-05-08 12:13:44 · 168 阅读 · 1 评论 -
【LeetCode 541】反转字符串 II
题目描述给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-string-ii著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例1:输入:s = "ab原创 2022-05-07 02:32:41 · 80 阅读 · 0 评论 -
【LeetCode 6052 】最小平均差
题目描述给你一个下标从 0 开始长度为 n 的整数数组 nums 。下标 i 处的 平均差 指的是 nums 中 前 i + 1 个元素平均值和 后 n - i - 1 个元素平均值的 绝对差 。两个平均值都需要 向下取整 到最近的整数。请你返回产生 最小平均差 的下标。如果有多个下标最小平均差相等,请你返回 最小 的一个下标。注意:两个数的 绝对差 是两者差的绝对值。n 个元素的平均值是 n 个元素之 和 除以(整数除法) n 。0 个元素的平均值视为 0 。来源:力扣(LeetCod原创 2022-05-01 22:51:45 · 240 阅读 · 1 评论 -
C++ 实现即时通信软件(直接运行)
题目由于本学期上了网络编程课程,老师要求写使用Socke实现网络编程。于是参考 C++多线程实现即时通信软件 写出了简单版本的没有界面的即时通信软件。软件:VS直接上代码,需要讲解原理的,可以参考 C++多线程实现即时通信软件服务器端//TcpServer_plus.exe#include<stdio.h>#include <Winsock2.h>#include<WS2tcpip.h>#pragma comment(lib,"ws2_32.lib")原创 2022-04-26 00:02:29 · 6790 阅读 · 2 评论 -
【LeetCode 150 】逆波兰表达式求值
题目描述根据 逆波兰表示法,求表达式的值。有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。注意 两个整数之间的除法只保留整数部分。可以保证给定的逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/evaluate-reverse-polish-notation著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处原创 2022-04-20 11:02:54 · 267 阅读 · 2 评论 -
【LeetCode 19】删除链表的倒数第 N 个结点
题目描述给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]进阶: 你能尝试使用一趟扫描实现吗?解题思路1.遍历两次,第一次记录倒数第N个位置在链表中的正序的位置。但是遍历了两次链表。ListNode* removeNthFromEnd(List原创 2022-04-17 23:32:05 · 74 阅读 · 0 评论 -
【LeetCode 59】螺旋矩阵 II
题目描述给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。示例 1:输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]思路这道题的思路与之前我写的 螺旋矩阵 的解题思路一致,读者可以直接看 螺旋矩阵 的解题思路。前者的适用与任何矩阵(行列数可以不相等),这个要求的是方阵(行列数相等),属于前者的特殊情况。vector<vector<int>> generateMat原创 2022-04-17 01:47:37 · 642 阅读 · 1 评论 -
【LeetCode 54 】螺旋矩阵
题目描述给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例 1 :输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2 :输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]思路分别使用up、down、left、right来表示矩阵的边界遍历的顺序1.左原创 2022-04-17 01:19:36 · 249 阅读 · 1 评论 -
【LeetCode 11 】盛最多水的容器(C++)
题目描述给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例 1输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例 2输入:height原创 2022-04-10 20:09:21 · 433 阅读 · 1 评论 -
【LeetCode 8 】(c++)字符串转换整数 (atoi)
题目描述请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:List item读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这些数字原创 2022-04-09 16:19:10 · 159 阅读 · 0 评论 -
【LeetCode 459 】重复的子字符串
题目描述给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。示例 1输入: s = "abab"输出: true解释: 可由子串 "ab" 重复两次构成。示例 2输入: s = "aba"输出: false示例 3输入: s = "abcabcabcabc"输出: true解释: 可由子串 "abc" 重复四次构成。 (或子串 "abcabc" 重复两次构成。)简单题我重拳出击,这道题一开始准备利用暴力的方法去做,但是感觉是简单题,我想着是一定有巧妙的解题原创 2022-04-09 02:02:35 · 690 阅读 · 1 评论 -
【LeetCode 6】Z 字形变换
题目描述将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。(出题的人指定有点问题奥,明明是 И 字形变换,非要说成Z)比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:string convert(string原创 2022-04-07 00:25:53 · 283 阅读 · 0 评论 -
【LeetCode 954】二倍数对数组
题目描述给定一个长度为偶数的整数数组 arr,只有对 arr 进行重组后可以满足 “对于每个 0 <= i < len(arr) / 2,都有 arr[2 * i + 1] = 2 * arr[2 * i]” 时,返回 true;否则,返回 false。示例 1输入:arr = [3,1,3,6]输出:false示例 2输入:arr = [2,1,2,6]输出:false示例 3输入:arr = [4,-2,2,-4]输出:true解释:可以用 [-2,-4] 和 [2原创 2022-04-01 16:40:01 · 4226 阅读 · 0 评论 -
【LeetCode 401】二进制手表
题目描述二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。例如,下面的二进制手表读取 “3:25” 。给你一个整数 turnedOn ,表示当前亮着的 LED 的数量,返回二进制手表可以表示的所有可能时间。你可以 按任意顺序 返回答案。小时不会以零开头:例如,"01:00" 是无效的时间,正确的写法应该是 "1:00" 。分钟必须由两位数组成,可能会以零开头:例如,"10:2" 是无原创 2022-04-01 14:17:41 · 122 阅读 · 0 评论 -
【LeetCode 383】赎金信
题目介绍给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。示例1输入:ransomNote = "a", magazine = "b"输出:false示例2输入:ransomNote = "aa", magazine = "ab"输出:false示例3输入:ransomNote原创 2022-04-01 01:53:35 · 302 阅读 · 0 评论 -
【LeetCode 350】两个数组的交集 II
题目描述 给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。示例1输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例2输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]提示1 <= nums1.length,原创 2022-04-01 00:00:01 · 176 阅读 · 0 评论 -
【LeetCode 290】单词规律
题目描述 给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。示例1输入: pattern = "abba", str = "dog cat cat dog"输出: true示例 2输入:pattern = "abba", str = "d原创 2022-03-30 10:41:59 · 186 阅读 · 0 评论 -
【LeetCode 228】汇总区间
题目描述 给定一个 无重复元素 的 有序 整数数组 nums 。返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。列表中的每个区间范围 [a,b] 应该按如下格式输出: 1. "a->b" ,如果 a != b 2. "a" ,如果 a == b示例1:输入:nums = [0,1,2,4,5,7]输出:["0->2","4-&g原创 2022-03-28 13:22:07 · 5347 阅读 · 0 评论 -
【LeetCode 202】快乐数
题目描述 快乐数 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1,那么这个数就是快乐数。如果 n 是 快乐数 就返回 true ;不是,则返回 false 。示例1输入:n = 19输出:true解释:12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + 02 = 1示例2输入:n = 2输出:false原创 2022-03-25 01:41:07 · 738 阅读 · 0 评论