- 博客(24)
- 收藏
- 关注
原创 C++标准库学习3:顺序容器part 2
C++标准库学习笔记:顺序容器part 2(vector是如何增长的、额外的string操作、容器适配器)
2022-08-03 22:01:13
309
原创 C++刷题笔记11:查找算法
P.S 非科班出身,对C++和算法较陌生,从入门开始,使用Leetcode平台,借鉴了很多前人的思路,博客仅为记录用。本期打卡查找算法的三道题目:对应<剑指 Offer 03. 数组中重复的数字><剑指 Offer 53 - I. 在排序数组中查找数字 I><剑指 Offer 53 - II. 0~n-1中缺失的数字>问题15:数组中重复的数字问题描述:找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字
2022-01-13 17:01:09
320
原创 C++刷题笔记10:字符串
P.S 非科班出身,对C++和算法较陌生,从入门开始,使用Leetcode平台,借鉴了很多前人的思路,博客仅为记录用。本期打卡字符串的两道题目:对应<剑指 Offer 05. 替换空格><剑指 Offer 58 - II. 左旋转字符串>问题13:从尾到头打印链表问题描述:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。问题要求:无解题思路:这道题目的想法比较自然,新建字符串后,遍历原字符串,在其他字符的位置原样复制,在空格位置补%20。主要问题点在于字符串的
2022-01-13 10:32:50
279
原创 C++刷题笔记9:链表
P.S 非科班出身,对C++和算法较陌生,从入门开始,使用Leetcode平台,借鉴了很多前人的思路,博客仅为记录用。本期打卡链表的三道题目:对应<剑指 Offer 06. 从尾到头打印链表><剑指 Offer 24. 反转链表><剑指 Offer 35. 复杂链表的复制>问题10:从尾到头打印链表问题描述:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。问题要求:无解题思路:这道题的要求是返回每个节点的值,而不是返回反过来的链表:一个自然的
2021-12-31 11:36:30
528
原创 C++刷题笔记8
P.S 非科班出身,对C++和算法较陌生,从入门开始,转换成Leetcode平台,借鉴了很多前人的思路,博客仅为记录用。问题8:包含min的栈问题描述:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是O(1)O(1)O(1)。问题要求:时间复杂度O(1)O(1)O(1)解题思路:这道题目看起来很容易,但是直接提出最小值这个其实是要费一番脑筋的:当我们将数值push进栈的时候,我们的确是可以保存一个最小值,但是当我
2021-12-25 12:08:01
115
原创 C++刷题笔记7
P.S 非科班出身,对C++和算法较陌生,从入门开始,转换成Leetcode平台,借鉴了很多前人的思路,博客仅为记录用。问题8:包含min的栈问题描述:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是O(1)O(1)O(1)。问题要求:时间复杂度O(1)O(1)O(1)解题思路:这道题目看起来很容易,但是直接提出最小值这个其实是要费一番脑筋的:当我们将数值push进栈的时候,我们的确是可以保存一个最小值,但是当我
2021-12-23 21:44:19
750
原创 C++刷题笔记6
P.S 非科班出身,对C++和算法较陌生,从入门开始,使用的是牛客网平台,刷题借鉴了很多前人的思路,博客仅为记录用。问题7:大数加法【NC1】问题描述:以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。数据范围: len(s),len(t)≤100000len(s),len(t)≤100000len(s),len(t)≤100000,字符串仅由’0’~‘9’构成问题要求:空间复杂度O(1)O(1)O(1),时间复杂度O(n)O(n)O(n)解题思路:首先将两数对齐,这应该有两
2021-11-20 11:13:49
409
原创 C++刷题笔记5
P.S 非科班出身,对C++和算法较陌生,从入门开始,使用的是牛客网平台,刷题借鉴了很多前人的思路,博客仅为记录用。问题6:买卖股票的最好时机【NC7】问题描述:假设你有一个数组prices,长度为n,其中prices[i]是股票在第i天的价格,请根据这个价格数组,返回买卖股票能获得的最大收益1.你可以买入一次股票和卖出一次股票,并非每天都可以买入或卖出一次,总共只能买入和卖出一次,且买入必须在卖出的前面的某一天2.如果不能获取到任何利润,请返回03.假设买入卖出均无手续费数据范围: 0<
2021-11-19 09:20:23
158
原创 C++刷题笔记4
P.S 非科班出身,对C++和算法较陌生,从入门开始,使用的是牛客网平台,刷题借鉴了很多前人的思路,博客仅为记录用。问题5:两个链表生成相加链表【NC40】问题描述:假设链表中每一个节点的值都在0−90 - 90−9之间,那么链表整体就可以代表一个整数。给定两个这种链表,请生成代表两个整数相加值的结果链表。数据范围:10000000≤n,m≤100000010000000≤n,m≤100000010000000≤n,m≤1000000 ,链表任意值0≤val≤90≤val≤90≤val≤9例如:链
2021-11-17 23:13:04
528
原创 C++刷题笔记3
P.S 非科班出身,对C++和算法较陌生,从入门开始,使用的是牛客网平台,刷题借鉴了很多前人的思路,博客仅为记录用。问题4:二叉树中和为某一值的路径【NC8】问题描述:输入一颗二叉树的根节点root和一个整数expectNumber,找出二叉树中结点值的和为expectNumber的所有路径。1.该题路径定义为从树的根结点开始往下一直到叶子结点所经过的结点2.叶子节点是指没有子节点的节点3.路径只能从父节点到子节点,不能从子节点到父节点4.总节点数目为nnn数据范围:树中节点总数在范围 [0,
2021-11-15 09:20:59
930
原创 C++刷题笔记2
P.S 非科班出身,对C++和算法较陌生,从入门开始,使用的是牛客网平台,刷题借鉴了很多前人的思路,博客仅为记录用。问题3:表达式求值【NC137]问题描述:请写一个整数计算器,支持加减乘三种运算和括号。数据范围:0≤∣s∣≤1000≤\vert{s}\vert≤1000≤∣s∣≤100,保证计算结果始终在整型范围内。问题要求:空间复杂度O(n)O(n)O(n),时间复杂度 O(n)O(n)O(n)解题思路:借鉴了网站的思路,使用栈来储存数字,最终将栈中的数字加到一起去。如何处理括号:遇到左括号
2021-11-11 22:31:49
777
原创 C++刷题笔记1
C++刷题笔记1P.S 非科班出身,对C++和算法较陌生,从入门开始,使用的是牛客网平台,刷题借鉴了很多前人的思路,博客仅为记录用。问题一:反转字符串【NC103】问题描述:接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)问题要求:空间复杂度O(n)O(n)O(n),时间复杂度O(n)O(n)O(n)解题思路:新建一个字符串,将原字符串倒序写入新的字符串。代码:class Solution {public: /** * 反转字符串 *
2021-11-11 11:43:27
828
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人