![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
可信考试C++/C
可信考试刷题记录
羊族的希望
坚持方能有所成就。
展开
-
栈-227.基本计算器II(四则运算)
3.乘除号:计算数字与栈顶元素,并将栈顶元素替换为计算结果。不允许使用任何将字符串作为数学表达式计算的内置函数,比如。你可以假设给定的表达式总是有效的。,请你实现一个基本计算器来计算并返回它的值。2.减号:将数字的相反数压入栈;整数除法仅保留整数部分。1.加号:将数字压入栈;给你一个字符串表达式。原创 2024-06-11 23:36:41 · 323 阅读 · 0 评论 -
栈-删除字符串中所有相邻重复项
例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。在完成所有重复项删除操作后返回最终的字符串。在 S 上反复执行重复项删除操作,直到无法继续删除。2.如果栈顶数据和当前数据相等则出栈,否则进栈。会选择两个相邻且相同的字母,并删除它们。给出由小写字母组成的字符串。原创 2024-06-10 22:28:03 · 310 阅读 · 0 评论 -
栈-20.有效的括号
判断字符串是否有效。原创 2024-06-08 23:31:53 · 155 阅读 · 0 评论 -
双指针-151.反转字符串中的单词
中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。如果字符串在你使用的编程语言中是一种可变数据类型,请尝试使用。反转后的字符串中不能存在前导空格和尾随空格。中使用至少一个空格将字符串中的。之间用单个空格连接的结果字符串。是由非空格字符组成的字符串。原创 2024-06-08 22:47:24 · 292 阅读 · 0 评论 -
双指针-27.原地移除元素
你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。你的函数函数应该返回 k = 2, 并且 nums。元素的顺序可能发生改变。注意这五个元素可以任意顺序返回。中的前两个元素均为 2。原创 2024-06-02 23:32:43 · 176 阅读 · 0 评论 -
字符串-459重复字符串
可由子串 "abc" 重复四次构成。(或子串 "abcabc" 重复两次构成。,检查是否可以通过由它的一个子串重复多次构成。可由子串 "ab" 重复两次构成。给定一个非空的字符串。解题KMP todo。原创 2024-06-02 23:30:09 · 217 阅读 · 0 评论 -
字符串-28.实现strstr-找出字符串中第一个匹配项的下标
"leeto" 没有在 "leetcode" 中出现,所以返回 -1。字符串的第一个匹配项的下标(下标从 0 开始)。第一个匹配项的下标是 0 ,所以返回 0。"sad" 在下标 0 和 6 处匹配。原创 2024-06-02 22:56:33 · 247 阅读 · 0 评论 -
字符串-541反转字符串
从字符串开头算起,每计数至。原创 2024-06-02 22:06:12 · 210 阅读 · 0 评论 -
字符串-替换数字(栈)
给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。打印一个新的字符串,其中每个数字字符都被替换为了number。输入一个字符串 s,s 仅包含小写字母和数字字符。原创 2024-05-22 23:10:07 · 154 阅读 · 0 评论 -
字符串-541. 反转字符串II
从字符串开头算起,每计数至。原创 2024-05-22 22:57:57 · 142 阅读 · 0 评论 -
字符串-344.反转字符串
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。、使用 O(1) 的额外空间解决这一问题。不要给另外的数组分配额外的空间,你必须。原创 2024-05-22 22:56:35 · 146 阅读 · 0 评论 -
哈希-383.救赎金
解题思路:使用哈希,ransomNote入哈希则++,magazine如哈希则--,最后遍历ransomNote中如果存在大于0的值则说明是false,否则是true。原创 2024-05-20 23:31:51 · 232 阅读 · 0 评论 -
哈希-1.两数相加
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。原创 2024-05-19 22:20:10 · 212 阅读 · 0 评论 -
哈希-202快乐数
分析:1.逐个获取数字的每一位并且相加,判断概数是否为1,如果为1则return true。2.关键点:如果判断重复数,需要用hash来判断。编写一个算法来判断一个数。原创 2024-05-19 13:13:29 · 108 阅读 · 0 评论 -
哈希-350两数组的交集II
请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。原创 2024-05-19 11:16:35 · 112 阅读 · 0 评论 -
哈希-349两个数组的交集
同时有个地方需要注意,需要踢掉重复的数据,所以每次赋值给结果数组后,需要在hash中去掉该值的标记。备注:取交集则数组的最大值为两个数组中最小长度。输出结果中的每个元素一定是。[4,9] 也是可通过的。原创 2024-05-18 22:44:12 · 122 阅读 · 0 评论 -
哈希-242有效的字母异位数
示例 1: 输入: s = "anagram", t = "nagaram" 输出: true。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 2: 输入: s = "rat", t = "car" 输出: false。你可以假设字符串只包含小写字母。原创 2024-05-17 23:58:30 · 144 阅读 · 0 评论 -
链表-707.设计链表
【代码】链表-707.设计链表。原创 2024-05-12 21:32:12 · 294 阅读 · 0 评论 -
链表-203.移除链表元素
示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5]否则则保存节点的前驱和后继,遇到相等的值则pre = tmp->next->next即可。示例 3: 输入:head = [7,7,7,7], val = 7 输出:[]分析:如果是head->val == val则head = head->next。示例 2: 输入:head = [], val = 1 输出:[]原创 2024-05-07 00:02:20 · 211 阅读 · 0 评论 -
数组-59.螺旋矩阵II
这里一圈下来,我们要画每四条边,这四条边怎么画,每画一条边都要坚持一致的左闭右开,或者左开右闭的原则,这样这一圈才能按照统一的规则画下来。这里每一种颜色,代表一条边,我们遍历的长度,可以看出每一个拐角处的处理规则,拐角处让给新的一条边来继续画。可以发现这里的边界条件非常多,在一个循环中,如此多的边界条件,如果不按照固定规则来遍历,那就是。就是因为在画每一条边的时候,一会左开右闭,一会左闭右闭,一会又来左闭右开,岂能不乱。一些同学做这道题目之所以一直写不好,代码越写越乱。这也是坚持了每条边左闭右开的原则。原创 2024-05-04 23:49:31 · 291 阅读 · 0 评论 -
数组:209.长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。在暴力解法中,是一个for循环滑动窗口的起始位置,一个for循环为滑动窗口的终止位置,用两个for循环 完成了一个不断搜索区间的过程。首先要思考 如果用一个for循环,那么应该表示 滑动窗口的起始位置,还是终止位置。如果只用一个for循环来表示 滑动窗口的起始位置,那么如何遍历剩下的终止位置?所以 只用一个for循环,那么这个循环的索引,一定是表示 滑动窗口的终止位置。原创 2024-05-04 10:46:02 · 229 阅读 · 0 评论 -
数组-977有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。定义一个新数组result,和A数组一样的大小,让k指向result数组终止位置。那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间。数组其实是有序的, 只不过负数平方之后可能成为最大数了。此时可以考虑双指针法了,i指向起始位置,j指向终止位置。原创 2024-05-03 19:17:40 · 130 阅读 · 0 评论 -
数组-27. 移除元素
示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例 2: 给定 nums = [0,1,2,2,3,0,4,2], val = 2, 函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。元素的顺序可以改变。原创 2024-05-03 09:57:58 · 51 阅读 · 0 评论 -
刷题 数组-二分查找C++
【代码】刷题 数组-二分查找C++原创 2024-05-02 21:03:47 · 13 阅读 · 0 评论