夜渡寒鸦呀
夜渡寒鸦呀
全部文章
分类
题解(57)
归档
标签
去牛客网
登录
/
注册
夜渡寒鸦呀的博客
全部文章
(共58篇)
题解 | #机器人的运动范围#
C语言解机器人的运动范围 解题思路 这道题和上面一道回溯类似,但是这道应该不算回溯,而是DFS深度优先遍历,使用递归地方式进行遍历。判断当前位置是否符合要求,然后设置为已访问!接下来访问上下左右四个格子,以此类推。 DFS算法 1. 递归出口: 1.1 超出边界 1.2 已访问过 1.3 条件不符合...
C
回溯
深度优先搜索
2022-06-13
1
350
题解 | #矩阵中的路径#
C语言 矩阵中的路径 解题思路 一道典型的DFS深度优先算法的回溯问题。对于一个矩阵,首先应该遍历所有的节点,尝试把每一个节点当作入口点,代入到DFS算法,计算DFS(matrix,word,i,j,0); DFS深度优先算法 dfs(matrix,word,i,j,index) 正确口条件:ind...
C
深度优先搜索
回溯
2022-06-10
2
419
题解 | #表示数值的字符串#
C语言求解 表示数值的字符串 解题思路 这道题看起来比较难,但是实际上只是很复杂!因为情况比较多,需要一步一步的实现。对于一个数字,整数——> 小数 ——>科学数,依次进行判断 小数的组成部分 [若干空格]任意整数[无符号整数] 科学数的组成部分 有小数 整数判定 要判断一个数是否为整数...
C
字符串
模拟
2022-06-09
1
414
题解 | #把数组排成最小的数#
C语言将数组排成最小的数 解题思路 这道题 对于一个数组 [3,32,321] 而言,排成最小的数,先排序,在拼接,怎么比较谁大谁小呢? 重点这道题实际是一个比较运算符的重载。对于两个数 3 和 32 先比较332 >323 所以这里 3>32。也就是在比较两个数字之前 先拼接 然后在比...
C
字符串
数组
2022-06-09
1
413
题解 | #剪绳子(进阶版)#
C语言求剪绳子(进阶版) 解题思路 对于一段绳子16米 切割方式为 3 3 3 3 2 2,要想乘积足够大,需要优先切割段数3米,其次是2米,不能含有1,这道题就简化成了一个求快速幂的题型。先计算绳子能分多少个3米 多少个2米 然后求快速幂。 递归求快速幂 求 3^7为例,递归为 3*3^6 而3^...
C
2022-06-09
2
494
题解 | #不用加减乘除做加法#
C语言求 不用加减乘除做加法 解题思路 对于两个数a b,直接使用异或运算,得到不进位的数据,比如二进制 0101 与二进制 1011 ,直接异或运算,相当于按照位进行加法。 此时在计算一个发生进位的值,使用与运算,两个1会发生进位,得到进位结果需要左移一次,因为进位向前进一。 因此 a+b 等价于...
C
矩阵位运算
2022-06-08
10
461
题解 | #求1+2+3+...+n#
C语言求 1+2+3+...+n 解题思路 注意这题不能使用循环和判断语句,那么怎么计算1+2+...+n,呢? 常规思路:1. 迭代(需要循环,没法使用) 2. 公式(((1+n)*n) /2) 需要使用乘法,无法使用。 3. 递归!计算1+2+...+n 可以计算 n+f(n-1),但是递归出口...
C
递归
2022-06-08
4
420
题解 | #数组中只出现一次的两个数字#
C语言求 数组中只出现一次的两个数字 解题思路 类似的求数组重复的题都是使用hash表来做,第一遍遍历使用hash表统计频次,第二遍遍历,寻找频次符合的数据 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型一维数...
C
数组
哈希表
2022-06-08
0
346
题解 | #数值的整数次方#
C语言 求数值的整数次方 解题思路 直接进行循环运算即可。 扩展思路: 使用位运算的方式来进行,例如求 2 的 9次方,9的二进制 1001,也就是可以计算2* ((2*2)*(2*2)) * ((2*2)*(2*2)) 也就是循环 1001 这个二进制位,循环遍历exponent的每一位 循...
C
数学
模拟
矩阵位运算
2022-06-08
0
345
题解 | #剪绳子#
C语言求解 剪绳子 解题思路 动态规划问题,假如一段绳子为n=10米,那么将这段绳子看成两部分,可能的切割位置在 1~9这9个位置之间,因此求一个最大值,dp[10]=max(1*dp[9],2*dp[8],3*dp[7]......9*dp[1]),因此正向计算,dp[1]=1,dp[2]=2,d...
C
动态规划
2022-06-08
0
435
首页
上一页
1
2
3
4
5
6
下一页
末页