牛客82035003号
牛客82035003号
全部文章
分类
题解(161)
归档
标签
去牛客网
登录
/
注册
牛客82035003号的博客
全部文章
(共200篇)
题解 | #字符串变形#
1.先把整个字符串反转。 2.再从头开始遍历,找到单词起点记下,然后逐个字母转换大小写至这个单词末尾,然后根据单词首尾边界反转。 3.继续找下一个单词起点,以此类推 void reverse(char* s, int begin, ...
字符串
C
2022-08-23
0
384
题解 | #数字在升序数组中出现的次数#
因为是有序的,所以用二分查找更快。找到比k小的第一个数作为左边界,找到比k大的第一个数作为右边界,右-左即k的个数。 按普通找某个数的位置来找,只是把int 改为double, 找k-0.5和k+0.5 int position(int* data, int&...
数组
二分查找
C
2022-08-23
2
387
题解 | #链表中倒数最后k个结点#
1.用快慢指针,快指针先走k步,然后两指针一起走,快指针到末尾时,慢指针刚好到倒数第k个位置。 2.仅用一个指针,先全部遍历求出结点总数n,然后让指针从头开始再次遍历,走n-k次即可到达倒数第k个位置。 方法一: struct ListNode* FindKthT...
链表
C
2022-08-22
0
296
题解 | #两数之和#
先找第一个加数,因为第二个加数可能会是负数,且题中说了最小为-10,所以判断如果某个数减10之后还大于sum,那么必不可能是第一个加数,看下一个。 找到第一个加数之后,便从其后面开始找第二个,一轮遍历没找到,就把第一个加数换成下一个再重新找。 int* twoSum(int*&n...
数组
C
2022-08-22
0
346
题解 | #回文数字#
因为是int型整数,不是字符,不能用指针和数组下标分别从头尾比较。所以用除法求首位,用取余求末位,再进行比较。 #include<stdbool.h> bool isPalindrome(int x ) { ...
数学
C
2022-08-22
0
307
题解 | #合并两个有序的数组#
1.既然空间足够,那么直接从后往前比较,两个数组各出1个,较大的放到A[长度为m+n]的后面,直到某个数组比较完。 2.若A完而B有余,则将剩余B继续放到A空出的前面位置,正好。若B完而A有余,哈哈,不是刚好把空填满了嘛,收工。 void merge(int* A,&n...
数组
C
2022-08-21
0
268
题解 | #素数回文#
1. 构造回文数,每次乘10然后加新尾数,新尾数为将截断末位数(即除10)之后的原数依次取末尾数(即对10取余)。 2. 检验素数,注意时间复杂度 #include <stdio.h> #include <math.h> int isp...
C
2022-08-20
0
379
题解 | #[NOIP2008]笨小猴#
1.专门用一个长度为26的数组来记录各个字母出现的次数 2.遍历计数数组找到max和min 3.检查差值是否为质数 #include <stdio.h> #include <math.h> int main(){ &n...
数组
C
2022-08-18
0
301
题解 | #回型矩阵#
按上-右-下-左一圈再一圈的顺序给二维数组赋值,每次处理完一条边后要改变边界值的大小。最后打印 #include <stdio.h> int main(){ int n = 0,&nbs...
数组
C
2022-08-18
11
351
题解 | #买卖股票的最好时机(一)#
int maxProfit(int* prices, int pricesLen ) { //if(prices == NULL || si...
数组
C
2022-07-03
0
223
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页