网易首页 > 网易号 > 正文 申请入驻

马斯克招聘软件工程师不看学历,只看代码。

0
分享至

专栏:50多种数据结构彻底征服

专栏:50多种经典图论算法全部掌握

2025年 1 月 15 日马斯克在X(以前的推特)上发文称:他们招聘软件工程师不关心你的学历,或者你是否上过大学以及是否在哪个大厂工作过,只需要展示你的代码即可。不过我感觉这不是很靠谱,因为读代码要比看简历难多了,发给你一份代码要看到啥时候,并且看代码还需要专业的人才能看,hr不一定看的懂,现在很多hr连简历都看不过来,直接使用筛选功能。不过这也给那些学历不高但能力很强的人更多的机会。

--------------下面是今天的算法题--------------

来看下今天的算法题,这题是LeetCode的第57题:插入区间。

问题描述

来源:LeetCode第57题

难度:中等

给你一个无重叠的,按照区间起始端点排序的区间列表 intervals,其中 intervals[i] = [starti, endi] 表示第 i 个区间的开始和结束,并且 intervals 按照 starti 升序排列。同样给定一个区间 newInterval = [start, end] 表示另一个区间的开始和结束。

在 intervals 中插入区间 newInterval,使得 intervals 依然按照 starti 升序排列,且区间之间不重叠(如果有必要的话,可以合并区间)。返回插入之后的 intervals。

示例1:


输入:intervals = [[1,3],[6,9]], newInterval = [2,5] 输出:[[1,5],[6,9]]

示例2:


输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8] 输出:[[1,2],[3,10],[12,16]] 解释:这是因为新的区间 [4,8] 与 [3,5],[6,7],[8,10] 重叠。

  • 0 <= intervals.length <= 10^4

  • intervals[i].length == 2

  • 0 <= starti <= endi <= 10^5

  • intervals 根据 starti 按 升序 排列

  • newInterval.length == 2

  • 0 <= start <= end <= 10^5

问题分析

这题说的是原来的区间是按照起始点排序的,且区间没有重叠。让我们在原来的区间插入一个新的区间,如果有重叠就把他们合并,如下图所示,因为区间[1,3]和区间[2,5]有重叠,

这里要判断要合并的区间和上面的哪些区间有重叠,因为上面的区间都已经按照起始点排序了,如果 当前区间的终点小于合并区间的起始点, 他们是没有重叠的 ,或者 当前区间的起始点大于合并区间的终点 ,他们也是没有重叠的。

没有重叠的区间只需要单独保存下来,有重叠的区间需要合并。

JAVA:

public int[][] insert(int[][] intervals, int[] newInterval) {     List

  ans = new ArrayList<>();     for (int[] interval : intervals) {         if (newInterval == null || interval[1] < newInterval[0]) {             // 前面单独的添加进来,或者已经合并完了,把后面的添加进来             ans.add(interval);         } else if (interval[0] > newInterval[1]) {             ans.add(newInterval);// 后面单独的区间。             ans.add(interval);             newInterval = null;         } else {// 合并区间             newInterval[0] = Math.min(newInterval[0], interval[0]);             newInterval[1] = Math.max(newInterval[1], interval[1]);         }     }     // 如果合并之后的区间没有保存下来,要保存下来     if (newInterval != null)         ans.add(newInterval);     return ans.toArray(new int[ans.size()][]); }

C++:

public:     vector

 > insert(vector

 > &intervals, vector

  &newInterval) {         vector

 > res;         bool finish = false;// 合并完了,后面的不需要再合并了,直接添加         for (auto const &interval: intervals) {             if (finish || interval[1] < newInterval[0]) {                 res.emplace_back(interval);// 前面单独             } else if (interval[0] > newInterval[1]) {// 后面单独                 res.emplace_back(newInterval);                 res.emplace_back(interval);                 finish = true;             } else {// 有交叉,合并                 newInterval[0] = min(newInterval[0], interval[0]);//get min                 newInterval[1] = max(newInterval[1], interval[1]);//get max             }         }         if (!finish)             res.emplace_back(newInterval);         return res;     }



Python:

def insert(self, intervals: List[List[int]], newInterval: List[int]) -> List[List[int]]:     ans = []     for interval in intervals:         if not newInterval or interval[1] < newInterval[0]:             # 前面单独的添加进来,或者已经合并完了,把后面的添加进来             ans.append(interval)         elif interval[0] > newInterval[1]:             ans.append(newInterval[:])  # 后面单独的区间。             ans.append(interval)             newInterval.clear()         else:  # 合并区间             newInterval[0] = min(newInterval[0], interval[0])             newInterval[1] = max(newInterval[1], interval[1])     # 如果合并之后的区间没有保存下来,要保存下来     if newInterval:         ans.append(newInterval)     return ans

笔者简介

博哥,真名:王一博,毕业十多年, 作者,专注于 数据结构和算法 的讲解,在全球30多个算法网站中累计做题2000多道,在公众号中写算法题解800多题,对算法题有自己独特的解题思路和解题技巧,喜欢的可以给个关注,也可以 下载我整理的1000多页的PDF算法文档 。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
意媒丨莫德里奇已与阿莫林交流

意媒丨莫德里奇已与阿莫林交流

米兰圈
2026-06-29 08:50:14
事情清楚了!大闹飞机迫降日本东京机场的争执原因曝光了

事情清楚了!大闹飞机迫降日本东京机场的争执原因曝光了

安安说
2026-06-28 11:33:07
西太平洋中俄轰炸机编队遭美日拦截,歼16迎战F35

西太平洋中俄轰炸机编队遭美日拦截,歼16迎战F35

夏末moent
2026-06-28 18:41:47
曼联哭晕!英格兰水货世界杯首发现原形,20 次丢球权全场最多

曼联哭晕!英格兰水货世界杯首发现原形,20 次丢球权全场最多

奶盖熊本熊
2026-06-29 05:32:50
把中国游客挡在门外,高市不听岸田劝告,中方对日本政府改了称呼

把中国游客挡在门外,高市不听岸田劝告,中方对日本政府改了称呼

闻识
2026-06-29 10:27:51
输球急眼了?韩国出局竟怪中国头上,日本网友:以后我们也这么说

输球急眼了?韩国出局竟怪中国头上,日本网友:以后我们也这么说

锐评利物浦
2026-06-28 11:00:30
回顾韩国选帅闹剧:足协主席一意孤行保送洪明甫,引发众怒惊动总统

回顾韩国选帅闹剧:足协主席一意孤行保送洪明甫,引发众怒惊动总统

冷桂零落
2026-06-28 20:15:46
阿拉巴:2-3的时候已经在考虑收行李的事了,出线后如释重负

阿拉巴:2-3的时候已经在考虑收行李的事了,出线后如释重负

懂球帝
2026-06-29 03:26:09
火车霸座咬人风波升级!大妈踢到铁板,受害者发声,恐怕要赔大了

火车霸座咬人风波升级!大妈踢到铁板,受害者发声,恐怕要赔大了

鲸探所长
2026-06-28 11:35:16
新一届港姐亮相红毯,这审美又回来了

新一届港姐亮相红毯,这审美又回来了

娱你同欢
2026-06-28 20:48:27
乌克兰踩过红线,与日本联合研制攻击无人机,中国给出明确回应

乌克兰踩过红线,与日本联合研制攻击无人机,中国给出明确回应

璀璨幻行者
2026-06-25 03:20:07
“这种环境都能排卵?”女毕业生表白单位男领导,评论区炸锅了

“这种环境都能排卵?”女毕业生表白单位男领导,评论区炸锅了

世界圈
2026-06-26 08:40:50
韩国总统李在明怒批韩国队:世界杯出局太荒唐!韩国足协:取消接机

韩国总统李在明怒批韩国队:世界杯出局太荒唐!韩国足协:取消接机

浙江之声
2026-06-28 18:11:19
男子监狱30 年出狱换证时,民警一查系统,竟直接“傻眼了”

男子监狱30 年出狱换证时,民警一查系统,竟直接“傻眼了”

故事秘栈
2025-05-29 16:35:52
凌晨1点,日本大战巴西,赛前传来3个坏消息!世界杯16强希望渺茫

凌晨1点,日本大战巴西,赛前传来3个坏消息!世界杯16强希望渺茫

锐评利物浦
2026-06-29 10:12:53
小仙女为了8000元“举报全班师生”,老师被停职,全班学生延毕

小仙女为了8000元“举报全班师生”,老师被停职,全班学生延毕

妍妍教育日记
2026-06-28 08:10:07
太平公主临死前大笑道:我睡过的男人比皇帝睡过的女人还多!值了

太平公主临死前大笑道:我睡过的男人比皇帝睡过的女人还多!值了

凡人侃史
2026-06-28 23:47:23
那些八年前买ES8的人,还在开蔚来吗?

那些八年前买ES8的人,还在开蔚来吗?

电动星球News
2026-06-28 15:06:17
阿瑙托维奇:2-3的时候以为一切都结束了;只剩一条腿我也会拼西班牙

阿瑙托维奇:2-3的时候以为一切都结束了;只剩一条腿我也会拼西班牙

懂球帝
2026-06-29 04:19:57
WTT美国大满贯:国乒豪夺2连胜!林诗栋3:0韩国,蒯曼3:0开门红

WTT美国大满贯:国乒豪夺2连胜!林诗栋3:0韩国,蒯曼3:0开门红

国乒二三事
2026-06-29 03:31:11
2026-06-29 11:07:00
数据结构和算法
数据结构和算法
专门介绍和写算法题解的号
273文章数 4关注度
往期回顾 全部

科技要闻

OpenAI推迟上市,那“Kimi们”呢?

头条要闻

牛弹琴:武契奇提前辞去总统职务 一盘新棋局才刚开始

头条要闻

牛弹琴:武契奇提前辞去总统职务 一盘新棋局才刚开始

体育要闻

两周飞5万公里!因凡蒂诺遭环保人士猛批

娱乐要闻

萧蔷宣布捐出参加“浪姐”所有收入

财经要闻

35岁职场人,又好找工作了?

汽车要闻

精致大气 尊界V800诠释顶级体验的新旗舰MPV

态度原创

房产
亲子
本地
游戏
公开课

房产要闻

全国高考大放水,300分就能上本科!论上岸率,海南没输过!

亲子要闻

瞬间爆炸!宝妈头发被烧掉一片!网友:我也被炸过!不少人家里有

本地新闻

世界杯球迷节:比球赛更好玩的派对

R星偏心索尼!GTA6预购链接仅PS版 索尼狂砸宣传

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版