首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
一只弱鸡
2017-06-06 09:25
已编辑
字节跳动_抖音电商_资深后端工程师
关注
已关注
取消关注
牛客网刷题系统所耗时间和空间是什么机制?准不准?
在牛课刷题也刷了不少了,一直对他通过以后的提示没放在心上,今天刷leedcode时候,优化一道题,应该是会快很多,但是提交得出的时间和预想的完全不同,虽然我比较菜,但是O(1)和O(n)还是分的清的,并且之前也有过这样的情况,有的题实在不会写,复制了人家第一名的代码,人家飞速,自己的就很耗时间,求解答。谢谢大家了
提示
全部评论
推荐
最新
楼层
NotDeep
中国戏曲学院 算法工程师
关于时间: 评测系统呈现的是运行时间,一般说来时间测量都不是特别准确的,都会有小的误差,但是误差波动不大,不会有数量级的波动。影响代码实际运行效率的因素比较宏观当然是看理论的平均复杂度,做优化算法基本也是优化这个,但是还有很多微观一点的细节: 1、某些算法的极限情况会造成复杂度最差(比如快排)。 2、算法实际的常数很大,在一些极限一点的情况渐近复杂度不能显示出效率的差距,效率差距主要体现在常数上。 3、使用了一些可能常用的库函数,建议去弄清这些东西的复杂度。 比如std:sort 这个排序跑得飞快。。。 比如std::nth_element 可以认为是O(n)的。。然后在元素个数小于等于3的时候用的插排。。 有时候因为对库函数的复杂度不清楚,随意用上去会算不清具体的复杂度。 4、语言差异造成的IO差距和运行差距。比如在10^5 10^6这种输入量级的数据上可以对比下scanf和cin的效率差距,其他语言也可以做做对比。另外有些语言跑起来就是要慢一些。。。。 5、还有一些丧心病狂的优化技巧。。。。。。 关于空间: 空间测量基本是稳定准确的。一般算法题对空间是不做限制的,所以关于空间可能产生的问题就是爆栈空间,系统提供的栈空间是有限的,在一个局部开一个很大的数组是有爆栈风险的。这个空间大小主要看评测机是啥操作系统的,一般都是linux。 综上。。。个人认为对于能通过的题目可以不太需要care使用的时间空间,需要比较关注的是这个问题的理论最优复杂度算法的写法。。以及一些很优雅的写法?
点赞
回复
分享
发布于 2017-06-06 10:39
舍甫琴科
中华女子学院 Java
上代码看看
点赞
回复
分享
发布于 2017-06-06 10:22
一只弱鸡
楼主
字节跳动_抖音电商_资深后端工程师
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST。提交的就是下面的,注释掉的也是对的,开始是注释掉的那种,然后改成了这种。 public class Solution { public TreeNode sortedListToBST(ListNode head) { if(head == null) return null; if(head.next == null) return new TreeNode(head.val); ArrayList<Integer> list=new ArrayList<Integer>(); while(head!=null) { list.add(head.val); head=head.next; } return buildToBST(list,0,list.size()-1); } private TreeNode buildToBST(ArrayList<Integer> list, int start, int end) { if(end<start)return null; int mid=(start+end+1)/2;//题目中是要求偶数时候,中间2个,选后面那个数 TreeNode root = new TreeNode(list.get(mid)); root.left=buildToBST(list,start,mid-1); root.right=buildToBST(list,mid+1,end); return root; } // public TreeNode sortedListToBST(ListNode head) {//这个也是对的,没有上面的那个快 // if(head == null) return null; // if(head.next == null) return new TreeNode(head.val); // ListNode mid = head; // ListNode end = head; // ListNode preMid = null; // while (end != null && end.next != null) {//每一次都循环快慢指针找中点 // preMid = mid; // mid = mid.next; // end = end.next.next; // } // TreeNode root = new TreeNode(mid.val); // preMid.next = null; // root.left = sortedListToBST(head); // root.right = sortedListToBST(mid.next); // return root; // } }
点赞
回复
分享
发布于 2017-06-06 10:40
小小
浙江大学 Java
哪个题目?
点赞
回复
分享
发布于 2017-06-06 10:14
暂无评论,快来抢首评~
相关推荐
01-04 17:49
思摩尔国际(SMOORE)_研发工程师(准入职员工)
思摩尔内推,思摩尔内推码
思摩尔结构工程师一面一面技术面,面试官比较年轻,共23min1、面试官上来要求先说说你对思摩尔的了解2、自我介绍3、针对第一个项目的提问:项目背景?你承担的工作?你在项目中遇到的问题?你最大的收获?这些项目中设计的产品有在企业中应用过吗?没有应用的原因你觉得是什么?4、针对第二个项目的提问:在项目中成员有分歧怎么办?有人不配合怎么办?5、除了学校学习和项目科研的内容,你最近有学习过什么新技术吗?6、反问环节(最长的一次)面试官详细介绍了工作内容后续流程,还有总部的一轮面试思摩尔国际2026全球校园招聘倒计时❗还没拿到offer的同学抓紧时间⏰【急招岗位】①技术研发类硕士(24-30W):产品企...
点赞
评论
收藏
分享
2025-12-30 14:17
大数据开发工程师
SQL中的覆盖索引
覆盖索引是指一个索引包含了查询所需要的所有字段,因此查询可以直接通过索引返回结果,而无需回表到数据表中获取数据。详细解释:在数据库中,索引通常存储的是键值以及指向数据行的指针(如行ID)。当使用普通索引进行查询时,如果查询的字段不在索引中,数据库需要根据索引中的指针去数据表中查找对应的行,这个过程称为“回表”。而覆盖索引是指,索引中包含了查询语句中所有需要返回的字段,这样查询只需要扫描索引而不需要回表,从而大大提高了查询效率。例如,有一张表users,包含id(主键),name,age,address等字段。如果在name上建立了索引,那么执行查询:SELECT name FROM users...
点赞
评论
收藏
分享
2025-12-23 23:49
门头沟学院 前端工程师
原来前端已死是这个意思
双非前端已死 投一大圈一个面试约不到 我真心碎了 前端已死
程序员花海:
实习写的太偏项目了
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
2025-11-30 23:28
如果遗憾那就永远遗憾
秋招白月光是我的虾皮虾皮是所有公司里最先给我面试机会的一面二面也很快 但是面完之后就开始泡池子到目前为止已经泡了两个月了虾皮北京已经泡发1000人秋招的意难平是美团看我的名字也知道在秋招之前美团可以说是我的梦中情司也是我很快进入到二面的公司第一天一面 第二天二面而且我了解到美团只有两面直接下意向之后更开心了可惜天不遂人愿 二面可能和面积官不太合如果100我觉得给自己打93吧可惜过两天把我挂了没事 大家都说 恨比爱长久
想进开水团喝开水:
最新消息 虾皮已发offer
你的秋招白月光和意难平公...
点赞
评论
收藏
分享
昨天 13:06
禾赛科技_嵌入式软件工程师(准入职员工)
禾赛科技内推,禾赛科技内推码
禾赛科技 嵌入式开发(操作系统)面经⚜技术是真的过硬啊,秋招嵌入式被拷打的最狠之一。原定45分钟,拷打一个半小时,涉及知识面特别广,实际问的比这还要多,记忆有限。不过也无后续,但也没挂,估计在L3缓存里面吧⭕一面(9.18)1. 自我介绍2. 项目介绍3. 有没有测量IMU精度4. 串口有几根线,中断配置?5. IIC有几根线?讲一讲怎么通信?详细说一下读取寄存器的流程6. 说一说任务有哪几种状态?就绪和阻塞的任务放在哪里?放在同一个链表上面吗?7. 任务怎么进入阻塞态?(主动挂起,被强占,争取不到资源等)8. 说一说死锁?9. 怎么解决死锁问题?(获取不到锁的时候,释放本身的资源)10. 有...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
🔥2026创作新起点:《新年启航计划》来袭,三大赛道等你来冲!
1.6W
2
...
百度java一面 28届的第一次大厂面试 感觉g了
1.2W
3
...
一大波手撕正在靠近!
1.0W
4
...
双非老鼠的悲惨秋招
4753
5
...
为什么你的实习是“无效实习”?又该如何做
4550
6
...
27前端鼠鼠快手二面
3202
7
...
塞翁失马,焉知非福
3033
8
...
面试手撕题总结
2912
9
...
腾讯游戏后端一面
2323
10
...
uu们,面试的时候一定要大大方方的啊!
1985
创作者周榜
更多
正在热议
更多
#
26年哪些行业会变好/更差
#
2268次浏览
46人参与
#
应届生应该先就业还是先择业
#
160164次浏览
806人参与
#
去年的flag与今年的小目标
#
1347次浏览
45人参与
#
写论文的崩溃时刻
#
1194次浏览
28人参与
#
你都用AI做什么
#
1542次浏览
51人参与
#
有深度的简历长什么样?
#
4009次浏览
73人参与
#
入职第一天
#
3491次浏览
45人参与
#
卷__卷不过你们,只能卷__了
#
939次浏览
23人参与
#
哪些公司在招寒假实习?
#
1071次浏览
20人参与
#
一人分享一道面试手撕题
#
7217次浏览
386人参与
#
这个工作能去吗
#
99300次浏览
612人参与
#
你不能接受的企业文化有哪些
#
2295次浏览
54人参与
#
秋招你被哪家公司挂了?
#
997027次浏览
7643人参与
#
小米求职进展汇总
#
997832次浏览
6501人参与
#
机械人的薪资开到多少,才适合去?
#
158195次浏览
553人参与
#
机械应届生薪资要多少才合适?
#
35322次浏览
106人参与
#
你觉得机械有必要实习吗?
#
16948次浏览
97人参与
#
元戎启行求职进展汇总
#
47059次浏览
330人参与
#
为什么国企只招应届生
#
227506次浏览
1272人参与
#
薪资要看总包还是月薪?
#
37935次浏览
295人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务