Taylor666
Taylor666
全部文章
题解
未归档(4)
归档
标签
去牛客网
登录
/
注册
陆振波的牛客博客
算法题解分享
全部文章
/ 题解
(共111篇)
题解#最大交换#
来自专栏
''' 解题思路 核心就一句话:就是把第一个小数和它后面最大的大数进行交换 理由如下: 要让一个数变大,要尽可能的让其高位变大 比如说 2736 , 让最高位2变大成3,也比让3那位变成9来的大, 3736 >>>> 2796 所以,本题的核心要义就是 让最高位的小数和后面的...
2021-07-09
0
484
题解 | #二叉树的最大深度#
来自专栏
''' https://www.nowcoder.com/practice/8a2b2bf6c19b4f23a9bdb9b233eefa73?tpId=196&&tqId=37055&rp=1&ru=/activity/oj&qru=/ta/job-code-...
2021-07-04
0
527
题解 | #重建二叉树#
来自专栏
''' 6.7 二叉树重建 #============================================================================================= https://www.nowcoder.com/practice/8a19...
2021-07-04
0
397
题解 | #01背包#
来自专栏
''' 解题思路: 01背包问题: 1、dp[i][j]定义:前i个物品,背包的最大价值或重量 2、递推公式: (a) j>=v[i]时,dp[i][j] = max(dp[i-1][j], dp[i-1][j-v[i]] + w[i...
2021-07-03
0
588
题解 | #放苹果#
来自专栏
''' 解题思路: f(m,n)表示将m个苹果放入n个盘子中的摆放方法总数, 放苹果分为两种情况,一种是有1个盘子为空 f(m,n-1),另一种是每个盘子上至少有1个苹果f(m-n,n), 递推关系:f(m,n) = f(m,n-1) + f(m-n,n) 边界条件:当m==1 or n==1时,f...
2021-07-03
0
448
题解 | #没有重复项数字的所有排列#
来自专栏
''' 解题思路: 全排列搜索 for i in range(len(num)), dfs(num[:i]+num[i+1:],res+[num[i]]) 特别注意: dfs()函数的第一个参数,是排除当前字符的新数组 ''' # # @param num int整型一维数组 # @return...
2021-07-03
0
447
题解 | #有重复项数字的所有排列#
来自专栏
''' 解题思路: 全排列搜索 for i in range(len(num)), dfs(num[:i]+num[i+1:],res+[num[i]]) 特别注意: dfs()函数的第一个参数,是排除当前字符的新数组 ''' # @param num int整型一维数组 # @return in...
2021-07-03
0
558
题解 | #集合的所有子集#
来自专栏
''' 解题思路: 组合搜索 for i in range(iStart,n), dfs(i+1,res+[num[i]]) ''' # # @param A int整型一维数组 # @return int整型二维数组 class Solution: def subsets(self...
2021-07-03
1
427
题解 | #加起来和为目标值的组合#
来自专栏
''' 解题思路: 1、使用DFS+回溯求解组合问题,dfs(iStart,res),其中iStart为搜索起点,res保存搜索路径, 2、持续搜索约束条件为当前路径和 num[i]+s 小于等于80,达到目标值时保存搜索路径 3、先排序,组合搜索范围 for i in range(iStart,n...
2021-07-02
0
503
题解 | #记票统计#
来自专栏
''' 解题思路: 建立字典直方图,不在字典内不合法 ''' while 1: try: pass n = int(input()) name = input().strip().split() m = int(input()...
2021-07-02
0
451
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页