文和906
文和906
全部文章
分类
未归档(4)
项目笔记(5)
题解(103)
归档
标签
去牛客网
登录
/
注册
文和906的博客
全部文章
(共113篇)
题解 | #丑数#
首先给出暴力法从1开始判断是否是丑数,若是则count++。每趟遍历都n++。当count==index时,返回当前数,即为对应丑数。这种做法逻辑上是完全没问题的,就是时间复杂度过高。提交运行时会在第11个用例(共13个)处超时,其输入为1500。这种算法的核心在判断一个数是否是丑数,具体体现为ju...
C++
数学
2021-10-25
0
354
题解 | #把数组排成最小的数#
直接解题需要将int数组中所有元素的排列都列出来,逐一比较。看到题目中给出了贪心的tag,所以一定能用更快的方法来做。选择用比较直接的类似冒泡排序的思路来做。即只两两比较int数组中元素所组成的数字,将大的往后放。先将int数组中的元素使用to_string()方法存入string数组中。使用二重循...
C++
贪心
数组
2021-10-25
0
373
题解 | #整数中1出现的次数(从1到n整数中1出现的次数)#
暴力法,遍历从1道n的数,对每个数字计算1的个数。时间复杂度O(nlogn),空间复杂度O(1)。 class Solution { public: int NumberOf1Between1AndN_Solution(int n) { int count = 0; ...
C++
数学
2021-10-22
1
439
题解 | #数组中出现次数超过一半的数字#
由于有一个数字在数组中出现的次数超过了一半。则我们每次都选出两个不同的数字,将其从数组中去掉,直到数组中只剩下一个数,或多个相同的数,就是要找的众数。实际操作中,使用一个变量candi保存当前准备比较的数,用一个变量count保存这个准备比较的数还剩多少个才能完全从数组中去掉。每次比较时,若coun...
C++
数组
数学
2021-10-22
4
480
题解 | #调整数组顺序使奇数位于偶数前面(一)#
维护一个标记firstEven指向数组当前第一个偶数的位置。遍历数组,当遇到一个奇数时,判断其下标与firstEven是否相等,若相等,说明目前数组前面都是奇数,不需要调整顺序,使firstEven++,保持与循环控制遍历i同步。若不等,说明前面已有偶数出现,将当前i指向的奇数插入firstEven...
C++
数组
2021-10-22
1
456
题解 | #替换空格#
遍历字符串,遇到空格就替换。核心是string.insert()函数的使用。时间复杂度O(n),空间复杂度O(1)。 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * ...
C++
字符串
2021-10-22
10
612
题解 | #第一个只出现一次的字符#
使用一个二维数组来记录遍历过的字符的出现次数以及出现顺序。将大写小写字母分开存储,这么做是为了便于处理。在遍历一次字符串,得到了记录有信息的而为数组后,遍历两个二维数组,分别得出最先出现的小写字母以及最先出现的大写字母。找到这两个字母在字符串中首次出现的位置,返回这两个位置中的小值。这么做时间复杂度...
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
317
题解 | #把字符串转换成整数#
遍历字符串,在第一个字符处判断是否为正负号,之后依此判断是否有非数字字符,将字符作为数字加入int数组中。最后得到一个数组,其中装有我们所需要的数字,遍历该数组,将该数组中的数字转为一个整数即可。实际上这里用另一种做法,每次都加上新的数字然后乘10,也可以,这种做法不需要辅助数组。 class So...
C++
字符串
2021-10-21
0
355
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页