首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
FrankChan
获赞
82
粉丝
6
关注
14
看过 TA
17
男
北京大学
2020
C++
IP属地:北京
不着急、不害怕、不要脸
私信
关注
拉黑
举报
举报
确定要拉黑FrankChan吗?
发布(5)
刷题
FrankChan
2020-06-24 21:50
C++
为什么深度学习的答案是n?
看了一圈代码,答案都是n,但不知道原因。
0
点赞
评论
收藏
转发
FrankChan
2020-04-23 20:23
C++
排成一条线的纸牌博弈问题
#include <vector> #include <iostream> using namespace std; int win1(vector<int>& arr) {//使用标准二维dp int n = arr.size(); vector<vector<int>> first(n, vector<i...
0
点赞
评论
收藏
转发
FrankChan
2020-04-22 23:13
C++
丢棋子问题最优解
这道题需要转换思路才能把时间复杂度降到O( ) 以下。基本思路是目前有i个棋子,如果扔j次最多能解决的楼层数。构造二维dp,dp[i][j]表示i颗棋子,扔j次最多能解决的楼层数。 假设第1个棋子扔在a层楼是最优的尝试。 1.如果第1个棋子已碎,那就向下,看i-1个棋子扔j-1次最多搞定多少层楼。对应dp[i-1][j-1] 2.如果第1个棋子没碎,那就向上,看i-1个棋子扔j次最多搞定多少层楼。对应dp[i-1][j] 3.a层楼本身也是被搞定的1层。 +1即有:dp[i][j] = dp[i-1][j-1] + dp[i-1][j] + 1 #include <v...
0
点赞
评论
收藏
转发
FrankChan
2020-04-21 22:51
已编辑
C++
最长公共子串问题空间复杂度为O(1)的解法
图是从左神的书里截的。这个思路很很巧妙。例如当前有如下两个串:a b c d eb e b c d构造图4-10,图中的数值表就是二维dp[i][j]的值。dp[i][j]只与dp[i-1][j-1]有关。每一轮斜线扫描时,开始长度curLen = 0,如果对应i, j的字符相等,则curLen++,不同则又将curLen重置为0。相当于用curLen来代替dp[i][j],省下了O(m*n)的空间。 #include <string> #include <iostream> using namespace std; string commonStr(string&am...
0
点赞
评论
收藏
转发
FrankChan
2020-04-21 22:21
C++
#给牛客的问题反馈和建议#
投递牛客等公司
0
点赞
评论
收藏
转发
1
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务