文和906
文和906
全部文章
题解
未归档(4)
项目笔记(5)
归档
标签
去牛客网
登录
/
注册
文和906的博客
全部文章
/ 题解
(共103篇)
题解 | #替换空格#
遍历字符串,遇到空格就替换。核心是string.insert()函数的使用。时间复杂度O(n),空间复杂度O(1)。 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * ...
C++
字符串
2021-10-22
10
611
题解 | #第一个只出现一次的字符#
使用一个二维数组来记录遍历过的字符的出现次数以及出现顺序。将大写小写字母分开存储,这么做是为了便于处理。在遍历一次字符串,得到了记录有信息的而为数组后,遍历两个二维数组,分别得出最先出现的小写字母以及最先出现的大写字母。找到这两个字母在字符串中首次出现的位置,返回这两个位置中的小值。这么做时间复杂度...
C++
字符串
2021-10-22
0
350
题解 | #构建乘积数组#
先写一种暴力解法。使用二重循环遍历数组,将对应结果插入结果集。这种做法时间复杂度为O(n^2),空间复杂度O(1),显然还有改进空间。 class Solution { public: vector<int> multiply(const vector<int>&am...
C++
数组
2021-10-22
0
333
题解 | #表示数值的字符串#
写三个方法分别判断是否表示整数、小数以及科学计数法。其中,判断小数的方法中调用判断整数的方法协助判断,判断科学计数法的方法中调用判断小数以及判断整数的方法协助判断。达到代码复用的目的。总体来说没有技术难点,就是string.substr()这个方法有个小坑。两个参数,第一个为截取的起点下标,第二个为...
C++
字符串
2021-10-21
0
316
题解 | #把字符串转换成整数#
遍历字符串,在第一个字符处判断是否为正负号,之后依此判断是否有非数字字符,将字符作为数字加入int数组中。最后得到一个数组,其中装有我们所需要的数字,遍历该数组,将该数组中的数字转为一个整数即可。实际上这里用另一种做法,每次都加上新的数字然后乘10,也可以,这种做法不需要辅助数组。 class So...
C++
字符串
2021-10-21
0
355
题解 | #扑克牌顺子#
用一个长度为14的数组来储存给出的5张牌中每张牌出现的次数。遍历数组,将出现的数字在计数数组中对应的位置加1,若其加1后大于2,切其本身不为0,则返回false。因两张不为joker的牌重复则不可能为顺子。遍历时记录出现的最大值与最小值。遍历完后用最大值减去最小值,若大于4则返回false,因为五张...
C++
模拟
2021-10-21
0
411
题解 | #顺时针打印矩阵#
模拟顺时针遍历矩阵的过层,先求出矩阵有多少层(圈),然后按层遍历。每次都从该圈左上角的点按照向右,向下,向左,最后向上的顺序遍历,然后按相同顺序遍历内圈。这种做法由于默认了给出的矩阵最少有两行两列,所以在遇到单行或单列时容易出现问题,为解决这一问题,在遍历完右和下时,判断结果数组内的元素个数是否已与...
C++
数组
模拟
2021-10-21
0
394
题解 | #求1+2+3+...+n#
一开始完全没有头绪,查看了别的同学的做法后醍醐灌顶。首先加减法是可以用的,而其他一切循环手段和乘除法都不能用。既然循环语句不能用,那么就只能递归了。问题是在于递归如何设置结束条件,if语句不能使用。这段代码的巧妙之处就在于利用了&&逻辑与的短路执行特性,只要遇到一个假,后面则不再执行...
C++
数学
脑筋急转弯
2021-10-20
0
322
题解 | #数组中只出现一次的两个数字#
开始时没看到空间复杂度的要求,选择使用键值对来存储数组信息。第一次遍历数组,将数组中的数字及其出现次数记录到map中。第二次遍历map,找到其中仅出现过1次的数,加入到结果数组中返回。这种做法提交后运行时间打败前100%还让我有点小激动。 class Solution { public: /...
C++
数学
位运算
2021-10-20
0
360
题解 | #数值的整数次方#
模拟幂的运算过程,对于正数次幂、0次幂、非负次幂分别处理。 class Solution { public: double Power(double base, int exponent) { double result = 1; if(!exponent){...
C++
数学
2021-10-20
0
311
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页