牛客82035003号
牛客82035003号
全部文章
分类
题解(161)
归档
标签
去牛客网
登录
/
注册
牛客82035003号的博客
全部文章
(共200篇)
题解 | #蛇形矩阵#
花了一个半多小时,终于摆清楚了。 思路就是从右上往左下,从左下往右上,一条一条地赋值,注意边界的变化。 先输左上三角,无需讨论。然后针对n是奇数还是偶数,右下三角的赋值步骤稍有变化。 #include<stdio.h> int main(){ &nb...
C
数组
2022-05-19
0
338
题解 | #公务员面试#
为了实现多组输入试了好久,终于通过了 #include <stdio.h> int main(){ int i = 0; int a...
C
数组
计数
2022-05-13
0
335
题解 | #水仙花数#
#include<stdio.h> #include<math.h> int main(){ int a, b; while(scanf("%d&nb...
C
枚举
2022-05-13
0
378
题解 | #杨辉三角(二)#
本来是用一个二位数组来写的,但是部分案例不通过。就去看了别人的,发现一个优秀写法: 只用一个一维数组,初值全为1,因为在求每行倒数第二个元素时会用到上一层的最后一个元素。想输出第k行就把n设为k(k从0开始)。然后i从2循环到num,表示每行的数的形成,每次大循环从倒数第二个数arr[i-]开...
C
数组
动态规划
2022-05-03
0
403
题解 | #兑换零钱(一)#
就拿给定的例子来说,有5,2,3,三种面值的钱,现在拿出一张20元的,怎么兑换才能使钱的张数最少。 首先,我们知道可兑换的钱的最大张数是20,也就是面值是1的时候,其他可兑换的情况张数肯定小于20,那么可兑换张数<=20才是可考虑的范围,且要求最小值。 设置的计数数组的...
C
数组
2022-05-03
9
559
题解 | #长度为 K 的重复字符子串#
长度为n的字符串有n-k个长度为k的子串,那么就遍历这n-k个子串看其中有没有重复的字母,只要有就计数,开始查看下一子串。 怎么判断是否有重复字母呢?因为字符串中全是小写字母,那么就用一个长度为26的数组来记录26个小写字母出现的次数。 每遍历一个子串,就把其中的字母出现次数...
C
字符串
计数
数组
2022-05-02
0
436
题解 | #二叉搜索树的最近公共祖先#
空树没有最近公共祖先 如果p和q两个数一个大于根结点的值,一个小于根结点的值,那么就分属左右两边,根结点即为最近公共祖先。 如果p和q两个数都小于根结点的值,那么就都在根结点的左边,那么把根结点的左孩子结点当作根结点用递归继续找。 如果p和q两个数都大于根结点的值...
C
二叉树
二叉搜索树
递归
2022-05-02
1
404
题解 | #从上往下打印二叉树#
和NC15的区别在于这里并不需要把每层的数值单独放在一个数组里,而是把二叉树的所有元素放在一个大数组里,那么问题就简单些了。 int* PrintFromTopToBottom(struct TreeNode* root, int* return...
C
二叉树
2022-05-01
4
438
题解 | #压缩字符串(一)#
学习别人的优秀写法,能想到用log10(x)的真是人才! 用双指针,刚开始均指向第一个字母,然后开始比较,(每轮比较第一次比较的其实是同一个字母,第二次才是正式比较才决定要不要压缩) 如果后面指针所指元素和前面不同,说明前面字母只出现一次,那么在字符串中保留该字母,用新指针进行赋值。 ...
C
字符串
双指针
2022-05-01
0
561
题解 | #螺旋矩阵#
用循环,一轮控制一个变量,复制上面一行时,变动列数。复制右边一列时,变动行数。 复制下面一行时,变动列数。复制左边一列时,变动行数。 每复制完一行或一列,边界移动一行或一列。 复制一圈是4个for循环,但不确定是在上下左右那个for循环中终结, 所以每个for之后配一个跳出循...
C
数组
2022-04-30
0
377
首页
上一页
2
3
4
5
6
7
8
9
10
11
下一页
末页