提前批wxg爆笑一面

开场四十分钟算法题
1.n栋房子排成一排,用红黄蓝三种颜色的油漆涂,相邻两栋颜色不能一样,每座房子用每种油漆涂的成本可以表示为一个数组,[[5,8,7][6,9,3]]表示第一栋房子用三种油漆的成本分别为5,8,7。返回粉刷全部房子的最低成本
2.最大子序和
3.hardman

反问
下机
面试官人挺好的,准备好了再来吧,笑嘻了
全部评论
第一题应该是n*3的dp吧然后状态转移是dp[i][0]=cost[i][0]+min(dp[i-1][1], dp[i-1][2])这个样子?
6 回复 分享
发布于 07-26 14:38 北京
第一题lc有差不多的题吧 状态机dp
1 回复 分享
发布于 07-26 21:22 浙江
#include<bits/stdc++.h> (35927)#define int long long using namespace std; int dp[1010][3]; int arr[1010][3]; int find_min(int a,int b) { int min_n=INT_MAX; for(int i=0;i<3;i++) { if(i==b) continue; else { min_n=min(min_n,dp[a-1][i]); } } return min_n; } signed main() { int n; cin>>n; for(int i=1;i<=n;i++) { int red; int blue; int yellow; cin>>red>>blue>>yellow; arr[i][0]=red; arr[i][1]=blue; arr[i][2]=yellow; } for(int i=1;i<=n;i++) { for(int j=0;j<3;j++) { dp[i][j]=find_min(i,j)+arr[i][j]; } } int min_n=INT_MAX; for(int i=0;i<3;i++) { min_n=min(dp[n][i],min_n); } cout<<min_n; }能做吗
点赞 回复 分享
发布于 09-13 15:08 江苏
确实有点搞笑
点赞 回复 分享
发布于 08-27 20:08 湖北
忍耐王
点赞 回复 分享
发布于 08-05 15:31 上海
这个第三题hardman是什么?
点赞 回复 分享
发布于 08-01 16:30 北京
这是暑期还是提前批啊
点赞 回复 分享
发布于 07-27 18:01 浙江
我都没有反问,直接跟我说拜拜
点赞 回复 分享
发布于 07-26 15:53 四川
哈基GK
点赞 回复 分享
发布于 07-26 00:41 上海
第一题贪心吧,两个便宜的油漆交替涂,如果是奇数就让最便宜的在第一个,没有比这个更便宜的方案了;第二题双指针维护中间的区间即可;第三题没见过,可以讲讲是什么吗
点赞 回复 分享
发布于 07-25 08:56 北京
忍耐王
点赞 回复 分享
发布于 07-25 03:08 贵州
点赞 回复 分享
发布于 07-24 21:55 广东

相关推荐

09-04 13:06
已编辑
中南大学 C++
指全程被面试官碾压太菜了猫猫开局自我介绍都没有,直接两道hard起手(hot100),言下之意撕不出来也不用自我介绍了。撕完25min,面试官找了十分钟会议室,然后看了五分钟我的代码,40min时正式开始面试。总计90min。面试官每次是引入一个话题,然后根据我的回答进一步问问题,一直问,一直问,直到我回答不出为止。最重要的是!他不是一个问题一个问题问的,他是一堆问题一堆问题问的!我他喵前一句没回答完,他又问十句!记不太清他问的啥了,只能根据录音里我的回答内容反推一下,问题仅供参考1.自我介绍2.实习转正情况Raft开始3.介绍raft4.何时发起leader选举5.如何避免选举失败(超时时长随机化)6.raft集群有没有不可用的时间,比如日志提交时?无,高可用,日志写入期间向leader读老日志7.为什么要大于N/2的节点确认后才提交日志,小于N/2行吗?不向从节点确认行吗?8.raft如何保障leader的日志是最新的raft这块结束,猫猫个人觉得答得还行,没有被某个问题卡住网络开始9.读过nginx源码没咋可能读过(10.TCP长连接和短连接,什么时候用低频次、无状态、非交互式的场景用短连接,其它的一般长连接11.心跳有什么用检测异常连接,防止中间设备如NAT、防火墙等清除会话(这里一开始记错了,说成了是TCP长时间没消息会断开连接,引得面试官质疑,当场百度,我忏悔呜呜,TCP有keep&nbsp;alive,默认不开启,不会自动断开连接,但是中间设备会自动清除会话)OS开始12.C++和Go的区别,从服务端编程的角度讲讲13.C++和Go的协程实现对比14.协程什么时机切换15.协程比线程的优势16.协程切换,需要保存哪些上下文?答得PC、SP,寄存器中一些其它值17.寄存器中保存了哪些信息?我说局部变量、参数、临时值啥的,这里面试官质疑了一下,我又说和CPU架构有关,x86和RISC-V这些不同18.上下文保存在哪里我回答栈,或者特殊的页面上,和架构有关19.函数调用时如何切换上下文的函数调用信息保存在栈帧中,通过栈帧指针实现函数跳转20.具体一点,说说函数调用的过程,哪些信息保存在哪里,哪些是调用者保存的哪些是被调用者保存的真记不清了,猫猫举了一个进程的例子,进程的栈中切分为多个函数的栈帧,按函数的调用顺序从下至上布局,通过栈帧指针的移动实现函数调用,同时函数的局部变量、返回值之类的保存在栈帧中,总之我答得很模糊,面试官不太满意。21.虚拟内存22.TLB为什么快TLB可以缓存,页表查找是需要多级映射23.吧啦吧啦,问了一堆问题,大概就是问虚拟内存要怎么分配,物理内存又要怎么分配答了写时复制的一点东西,先分配虚拟内存,实际要用时触发page&nbsp;fault,分配物理内存24.哪些内存分配在栈上,哪些内存分配在堆上,咋分配的,通过啥函数分配局部变量啥的在栈上,动态分配的在堆上,小内存用brk,移动堆顶指针,连续的,大内存用mmap,创建独立的内存映射。(其实还有个内存池,忘了)25.mmap分配的内存在哪栈和堆中间的内存映射区26.内存布局,内核态和用户态在哪27.为什么进程切换比线程慢页表切换、CPU缓存命中率降低(这一点被面试官质疑了,没搞懂他的说法)28.切换页表的过程为什么会很慢?难道不是就一个页表指针切换的事吗?蒙了,我解释了一下两个进程位于不同的地址空间,实际上没有“指针”这种说法,但还是解释不出为什么页表切换为什么慢。经过面试官提醒,是TLB刷新的原因,页表切换其实是很快的,关键在于TLB会完全刷新。OS到此结束C++开始29.静态多态、动态多态30.程序运行过程中,是如何找到vptr的?如何根据vtable确定要执行哪个虚函数?31.vptr属于类还是对象的,在什么时机创建,存放在哪里32.这里答得很一般,让我从类的内存模型思考一下33.普通函数和虚函数的虚拟地址是什么确定的?是编译链接期间还是运行期间?34.父类指针指向子类对象,为什么程序能知道调用的是子类对象的方法?到底是怎么做到的?对象怎么拿到vptr的?35.引申了一下C++程序执行的四个阶段,链接阶段如何进行符号解析和重定向总得来说还是在围绕虚函数还有程序动态运行时的地址分配来谈,但这一段猫猫答得很乱,虚函数还是得下去仔细看看36.反问,看中校招生哪些能力
不爱吃番茄的番茄酱:汗流浃背了
我的秋招日记
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
28
59
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务