自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第十一届蓝桥杯B组C/C++省赛第一场(仅供个人复习)

试题 A: 跑步训练(3880)【问题描述】小明要做一个跑步训练。初始时,小明充满体力,体力值计为 10000。如果小明跑步,每分钟损耗600 的体力。如果小明休息,每分钟增加 300 的体力。体力的损耗和增加都是均匀变化的。小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循环。如果某个时刻小明的体力到达 0,他就停止锻炼。请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案。答案中只填写数,不填写单位。【答案提交】这是一道结果填空题,你只需要算出结果后提交即可。

2022-02-06 19:14:37 342 2

原创 第十一届蓝桥杯B组C/C++省赛第二场(供个人复习时使用)

第一题:门牌制作题目描述小蓝要为一条街的住户制作门牌号。这条街一共有2020位住户,门牌号从1到2020编号。小蓝制作门牌的方法是先制作0到9这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌1017需要依次粘贴字符1、0、1、7,即需要1个字符0,2个字符1,1个字符7。请问要制作所有的1到2020号门牌,总共需要多少个字符2?考点:如何取出数字的每一位(1)此题代码:#include<iostream>using namespace std;int main()

2022-01-28 19:52:35 960 1

原创 P1085不高兴的津津

题目描述津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。输入格式输入包括777行数据,分别表示周一到周日的日程安排。每行包括两个小于101010的非负整数,用空格隔开,分别表示津津在学.

2022-01-15 19:31:46 186

原创 找到所有数组中消失的数字

给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。示例1:输入:nums = [4,3,2,7,8,2,3,1]输出:[5,6]示例2:输入:nums = [1,1]输出:[2]已经连续几天在刷哈希表了,可能是早上状态不好,看着这个题挺简单但还是想了挺长时间才做出来。思路:将[1,n]建成哈希表,所有对应的值取1,从nums中取数看哈希

2021-11-27 10:34:15 210

原创 滑动窗口(供自己忘记时回来学习)

模板...int left=0,right=0,res=0;for(;left<数组长度;left++){while}

2021-11-21 16:42:29 86

原创 赎金信c++

给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串 ransom 能不能由第二个字符串 magazines 里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。杂志字符串中的每个字符只能在赎金信字符串中使用一次。)示例1:输入:ransomNote = "a", magazine = "b"输出:false示例2:输入:ransomNot

2021-11-13 21:32:08 836

原创 leetcode两个数组的交集IIc++

给定两个数组,编写一个函数来计算它们的交集。示例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.输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。2.我们可以不考虑输出结果的顺序。整体思路:看到这个题目最好想到的应该就是双指针了吧,好理解。哈希表也很好,但是本人对于哈希表运用不是特别熟练!!

2021-08-18 16:59:45 115

原创 leetcode两个数组的交集c++

给定两个数组,编写一个函数来计算它们的交集。示例1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]整体思路:(1)我的思路:利用栈来写,首先利用栈去掉nums2中重复的数字,然后将nums2和num1合并,再次利用栈来判断是否里边有重复的数字,如果有,则把重复的数字归到一个新的数组中去,最后输出数组即可,利用栈时都要先排好序。代码复杂结果运

2021-08-12 11:17:22 160

原创 leetcode区域和检索-数组不可变c++

给定一个整数数组 nums,求出数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点。实现 NumArray 类: NumArray(int[] nums) 使用数组 nums 初始化对象 int sumRange(int i, int j) 返回数组 nums 从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点(也就是 sum(nums[i], nums[i + 1], ... , nums[j]))示例:输入:["NumArray...

2021-08-12 09:39:56 111

原创 leetcode移动零c++

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。整体思路:题目中都出现了原地两个字,肯定是双指针啊代码题解:class Solution {public: void moveZeroes(vector<int>& nums) { int n=nums.siz

2021-08-10 15:09:51 201

原创 leetcode丢失的数字c++

给定一个包含 [0, n]中n个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。示例1:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。示例2:输入:nums = [0,1]输出:2解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出现在 nums 中。示例3...

2021-08-09 15:43:47 287

原创 leetcode汇总区间c++

给定一个无重复元素的有序整数数组 nums 。返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。列表中的每个区间范围 [a,b] 应该按如下格式输出: "a->b" ,如果 a != b "a" ,如果 a == b示例1:输入:nums = [0,1,2,4,5,7]输出:["0->2","4->5","7"]解释:区间范围是:...

2021-08-09 15:04:06 121

原创 leetcode存在重复元素II c++

给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k。示例1:输入: nums = [1,2,3,1], k = 3输出: true示例2:输入: nums = [1,0,1,1], k = 1输出: true示例3:输入: nums = [1,2,3,1,2,3], k = 2输出: false整体思路:哈希表map,存储键值对代码题解:

2021-08-08 17:40:28 135

原创 leetcode存在重复元素c++

给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例1:输入: [1,2,3,1]输出: true示例2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true整体思路:代码题解:1.排序法,最先想到的简单方法,不多说简单易懂!class Solution {public: boo

2021-08-08 09:34:08 119

原创 leetcode计数质数c++

统计所有小于非负整数n的质数的数量。示例1:输入:n = 10输出:4解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例2:输入:n = 0输出:0示例3:输入:n = 1输出:0整体思路:埃氏筛。挺好理解的筛选方法,x为质数那么x的倍数肯定都是合数,将质数用1标记出啦,统计1的个数即可代码题解:class Solution {public: int countPrimes(int n) { vecto..

2021-08-07 11:05:28 179

原创 leetcode多数元素c++

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入:[3,2,3]输出:3示例2:输入:[2,2,1,1,1,2,2]输出:2整体思路:投票法,这个方法很实用,有例子有图的话感觉很好理解,但是没图没例子的话就感觉不太好理解,第一次接触到这个方法,很好用。废话感觉没用,还是直接上官方的图吧看了图之后应该可以感觉到两个变量的作用吧!代码题.

2021-08-06 17:56:21 111

原创 leetcode只出现一次的数字c++

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4整体思路:异或运算,看完官方的题解,异或运算真是神了,题目要求线性时间复杂度,说实话一开始最先想到的是先排序然后利用栈来判断,或者排序后直接遍历判断,但是都不符合时间复杂度和空间复杂度的要求。异或运算:

2021-08-06 16:34:24 135

原创 leetcode买卖股票的最佳时机c++

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利

2021-08-06 10:53:32 172

原创 leetcode最长回文串c++

给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如"Aa"不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例输入:"abccccdd"输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。整体思路:利用栈来判断:这个方法有个费时的地方需要先对字母进行排序,第一个字母先进栈,如果第二个字母和它相同,则出栈存储到新的字符串里边,如果不相等则继续进栈,循环判断..

2021-08-01 16:33:13 238

原创 leetcode找不同c++

给定两个字符串 s 和 t,它们只包含小写字母。字符串t由字符串s随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例1:输入:s = "abcd", t = "abcde"输出:"e"解释:'e' 是那个被添加的字母。示例2:输入:s = "", t = "y"输出:"y"示例3:输入:s = "a", t = "aa"输出:"a"示例4:输入:s = "ae", t = "aea"输出:"a"整体思路:循环遍历...

2021-07-31 09:00:45 111

原创 leetcode字符串中的第一个唯一字符c++

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。s = "leetcode"返回 0s = "loveleetcode"返回 2提示:你可以假定该字符串只包含小写字母。整体思路:利用双指针从前向后循环遍历对比。代码题解:class Solution {public: int firstUniqChar(string s) { int n=s.size(); int left=0;//从第一个开始 i

2021-07-31 08:20:06 122

原创 leetcode赎金信c++

给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串 ransom 能不能由第二个字符串 magazines 里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。杂志字符串中的每个字符只能在赎金信字符串中使用一次。)示例1:输入:ransomNote = "a", magazine = "b"输出:false示例2:输入:ransomNot

2021-07-30 15:26:49 170

原创 leetcode反转字符串中的元音字母

编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例1:输入:"hello"输出:"holle"示例2:输入:"leetcode"输出:"leotcede"整体思路:一前一后双指针进行判断代码题解:class Solution {public: string reverseVowels(string s) { int n=s.size(); int left=0; int right=n-1; char t;

2021-07-29 19:49:17 114

原创 leetcode单词规律

给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = "abba", str = "dog cat cat dog"输出: true示例2:输入:pattern = "abba", str = "dog cat cat fish"输出: false示例3:输入: pattern

2021-07-29 10:57:26 117

原创 leetcode二叉树的所有路径c++

给定一个二叉树,返回所有从根节点到叶子节点的路径。说明:叶子节点是指没有子节点的节点。示例:输入: 1 / \2 3 \ 5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3整体思路:递归的思想。设置集合res存储每一次的最终结果,最终输出。temp则表示,每一次的结果,temp包含节点数值和“->”。代码题解:/** * De.

2021-07-29 09:46:17 107

原创 leetcode同构字符串c++

给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。示例1:输入:s = "egg", t = "add"输出:true示例2:输入:s = "foo", t = "bar"输出:false示例3:输入:s = "paper", t = "tit

2021-07-27 18:45:53 117

原创 leetcode有效的字母异位词c++

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。示例1:输入: s = "anagram", t = "nagaram"输出: true示例2:输入: s = "rat", t = "car"输出: false整体思路:建一个26位的数组,将字母按顺序表示为这26位,s与t字符串同时遍历,在s字符串中出现字母的时候,代表该字母的位置加1,在t字符串中出现的字

2021-07-27 18:41:49 97

原创 leetcode之Excle列表名称

给你一个整数columnNumber ,返回它在 Excel 表中相对应的列名称。例如:A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28 ...示例1:输入:columnNumber = 1输出:"A"示例2:输入:columnNumber = 28输出:"AB"示例3:输入:columnNumber = 701输出:"ZY"示例4:输入:columnNumbe.

2021-07-27 11:43:45 83

原创 leetcode验证回文字符串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例1:输入: "A man, a plan, a canal: Panama"输出: true解释:"amanaplanacanalpanama" 是回文串示例2:输入: "race a car"输出: false解释:"raceacar" 不是回文串整体思路:双指针解法,自身还是对于字符串还是更喜欢采用指针解法,感觉指针都是对于字符串.

2021-07-26 11:46:06 209

原创 leetcode二进制求和

给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字1和0。示例1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"提示:每个字符串仅由字符 '0' 或 '1' 组成。1 <= a.length, b.length <= 10^4字符串如果不是 "0" ,就都不含前导零。整体思路:我们通过举例子手动运算可以知道相加...

2021-07-25 20:52:37 183

原创 leetcode最后一个单词的长度c++

给你一个字符串 s,由若干单词组成,单词之间用单个或多个连续的空格字符隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。示例1:输入:s = "Hello World"输出:5示例2:输入:s = " "输出:0整体思路:题目存在两种情况1.“hello world”:简单的情况2."hello world ":稍微复杂一点的情况分析这两种情况之后将思路合并一下,即如果存在..

2021-07-24 09:29:29 63

原创 leetcode实现strStr() c++代码

实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与 C 语言的 strstr() 以及 Java 的 indexOf() 定义相符。示例1:输入:haystack .

2021-07-23 11:46:47 100

原创 leetcode有效的括号

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例2:输入:s = "()[]{}"输出:true示例3:输入:s = "(]"输出:false示例4:输入:s = "([)]"输出:false示例5:输入:s = "{[]}"输出:true...

2021-07-22 16:29:43 50

原创 leetcode最长公共前缀c++

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入:strs = ["flower","flow","flight"]输出:"fl"示例2:输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。提示:0 <= strs.length <= 2000 <= strs[i].length <= 200strs[i] 仅由小写英文字母组成整体思路.

2021-07-22 10:20:41 168

原创 leetcode杨辉三角

给定一个非负整数numRows,生成杨辉三角的前numRows行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]代码题解:class Solution {public: vector<vector<int> > generate(int numRows) { vector&lt...

2021-07-21 09:19:18 261

空空如也

空空如也

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

TA关注的人

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