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

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

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.

相关推荐
热点推荐
笑死!佛得角门将一夜涨粉千万,反手关注2000美女,真乃人之常情

笑死!佛得角门将一夜涨粉千万,反手关注2000美女,真乃人之常情

林小湜体育频道
2026-06-17 20:42:17
一个存储大佬说:消费级SSD市场快没了,硬盘都去哪了?

一个存储大佬说:消费级SSD市场快没了,硬盘都去哪了?

山月不知2
2026-06-17 00:40:19
央视发文,高调官宣邓亚萍新身份,涉嫌贪腐被带走传闻早水落石出

央视发文,高调官宣邓亚萍新身份,涉嫌贪腐被带走传闻早水落石出

大鱼简科
2026-06-16 14:21:11
约旦1-3!输球不可怕,可怕的是赛后主帅的这番话,批评冲我来!

约旦1-3!输球不可怕,可怕的是赛后主帅的这番话,批评冲我来!

田先生篮球
2026-06-17 17:46:01
“男女就餐时与邻桌未成年女生发生肢体冲突”,警方通报

“男女就餐时与邻桌未成年女生发生肢体冲突”,警方通报

澎湃新闻
2026-06-17 23:11:07
太罕见:G7峰会,高市早苗和冯德莱恩向中国发难,特朗普反应亮了

太罕见:G7峰会,高市早苗和冯德莱恩向中国发难,特朗普反应亮了

知法而形
2026-06-17 17:53:17
“梅西在我身前10米挥拳庆祝!”中国球迷高举“天下谁人不识君”横幅,世界杯现场见证历史时刻

“梅西在我身前10米挥拳庆祝!”中国球迷高举“天下谁人不识君”横幅,世界杯现场见证历史时刻

极目新闻
2026-06-17 20:19:20
"越擦越痒,越痒越擦"!有人崩溃:果断停用!

"越擦越痒,越痒越擦"!有人崩溃:果断停用!

深圳晚报
2026-06-17 12:10:46
破案了!梅西世界杯落泪原因曝光,C罗球迷都纷纷送上祝福

破案了!梅西世界杯落泪原因曝光,C罗球迷都纷纷送上祝福

绿茵舞着
2026-06-17 23:44:17
研制成功!光电转换效率达26.2%,刷新世界纪录!

研制成功!光电转换效率达26.2%,刷新世界纪录!

观察者网
2026-06-16 22:57:04
61帽!梅西封神:世界杯16球超越大罗 历史第1 球迷起立膜拜

61帽!梅西封神:世界杯16球超越大罗 历史第1 球迷起立膜拜

叶青足球世界
2026-06-17 10:49:25
独家:山姆首席采购官张青离职

独家:山姆首席采购官张青离职

联商网
2026-06-17 14:00:13
世界排名升至第一!标枪女皇严子怡首次登顶,望开启漫长王朝统治

世界排名升至第一!标枪女皇严子怡首次登顶,望开启漫长王朝统治

杨华评论
2026-06-18 00:08:45
陈婷在庆功夜戴了半个亿的珠宝,光是那条宝格丽灵蛇项链就三千万

陈婷在庆功夜戴了半个亿的珠宝,光是那条宝格丽灵蛇项链就三千万

天马幸福的人生
2026-06-17 10:58:59
比稀土更稀缺!卡住PCB命门的三大紧缺材料之王(附股)

比稀土更稀缺!卡住PCB命门的三大紧缺材料之王(附股)

生活新鲜市
2026-06-17 19:40:50
图赫尔拿世界杯作死!放着皇马王牌不用,宁要边缘人凑数!

图赫尔拿世界杯作死!放着皇马王牌不用,宁要边缘人凑数!

澜归序
2026-06-18 01:03:12
罗纳尔多:全世界都应承认梅西是历史最佳球员

罗纳尔多:全世界都应承认梅西是历史最佳球员

懂球帝
2026-06-17 18:37:27
美伊刚谈拢,不到24小时,俄连夜停飞伊朗航班,普京做了2个准备

美伊刚谈拢,不到24小时,俄连夜停飞伊朗航班,普京做了2个准备

流史岁月
2026-06-17 17:30:05
前线国门紧闭,后方门户洞开?为何中国对印度移民大开方便之门?

前线国门紧闭,后方门户洞开?为何中国对印度移民大开方便之门?

静夜史君
2026-06-17 01:15:26
21车冻货被查扣案件更多证据曝光!把“以权谋利”用到极致了!

21车冻货被查扣案件更多证据曝光!把“以权谋利”用到极致了!

一支破笔半支烟
2026-06-16 21:16:12
2026-06-18 02:51:00
数据结构和算法
数据结构和算法
专门介绍和写算法题解的号
273文章数 4关注度
往期回顾 全部

科技要闻

马斯克好友长文:他最可怕的,是这套方法论

头条要闻

荷兰政府对中国进行无理指责 中使馆发声

头条要闻

荷兰政府对中国进行无理指责 中使馆发声

体育要闻

梅西帽子戏法:纪录厚重,球王轻盈

娱乐要闻

陈红一反常态保持沉默

财经要闻

拉加德警告:AI可能引爆下一场金融危机

汽车要闻

23.99万起 比亚迪大唐带2+2+3大七座掀桌子 这才是中国大家庭梦中情车!

态度原创

数码
艺术
亲子
家居
房产

数码要闻

GuliKit推出Switch 2便携底座 可连电视亦可桌面充电 售价29.99美元

艺术要闻

235米!曼谷地标“金字塔”动工,BIG操刀

亲子要闻

剖腹产后想少留疤,这三个细节要做好

家居要闻

绿意盎然 自然之境

房产要闻

最新房价:海口、三亚;新房、二手房全线下跌!

无障碍浏览 进入关怀版