为啥找对象千万别找大厂男,还好我不是大厂的。。

2024-06-11 10:12

本文主要是介绍为啥找对象千万别找大厂男,还好我不是大厂的。。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

29c96fd92b829a1cdd88dee832da1822.gif

精品推荐:

《征服数据结构》,《经典图论算法》

网上看到一大厂女员工发文说:找对象千万别找大厂男,理由说了一大堆,无非就是大厂男为了逃避带娃,以加班为由宁愿在工位上玩游戏也不愿回家。当然这种观点有的人赞同有的人反对。

1bf0ba5b45cb7b44002ade48da2fbec5.png

网友精彩评论:

411325f965f9ee81c53a47c6bdfaf8e6.png

c6fa798c582e9b4fe4bc09a83948bb16.png

9276b0ea5955baef2426e871fc44387b.png

1acac1a2c4c4301dd46a9cec15b7d6ec.png

17b07b5fdb89338d0b8917c0cac7d30b.png

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

来看下今天的算法题,这题是LeetCode的第45题:跳跃游戏 II。

问题描述

来源:LeetCode第45题

难度:中等

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处:

1,0 <= j <= nums[i] 

2,i + j < n

返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。

示例1:

输入: nums = [2,3,1,1,4]

输出: 2

解释: 跳到最后一个位置的最小跳跃数是 2。

     从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。

示例2:

输入: nums = [2,3,0,1,4]

输出: 2

  • 1 <= nums.length <= 10^4

  • 0 <= nums[i] <= 1000

  • 题目保证可以到达 nums[n-1]

问题分析

这题让计算的是跳到数组的最后需要跳跃的最小次数,第一次跳跃是站在下标为0的位置开始跳的。

我们可以用一个变量preRange表示上一次跳跃所能到达的范围,然后在这个范围内记录跳跃所能达到的最远距离curFarthest,计算的时候如果超过preRange这个范围就表示需要再跳一次,然后更新preRange的值为curFarthest。

我们以示例一为例画个图来看下,第一次可以跳跃的范围是[1,2],这里指的是下标,实际上还可以跳到下标为0的位置,如果第一次还跳到下标为0就表示没跳,我们不要记录了。

第二次可以从下标为1或下标为2的位置开始跳,从下标为1的位置可以跳到[2,3,4],从下标为2的位置可以跳到[3],所以第二次就可以跳到数组的末尾了,只需要两次即可。

87883093ae9123597397d658b7c6e3a5.png

JAVA:

public int jump(int[] nums) {int jumps = 0;// 最小跳跃次数int preRange = 0;// 上一次起跳的范围int curFarthest = 0;// 从上一次起跳范围内所能跳的最远距离。for (int i = 0; i < nums.length - 1; i++) {// 计算从当前位置跳跃所能到大的最远距离,并更新curFarthest。curFarthest = Math.max(curFarthest, i + nums[i]);// 如果上一个跳远范围内都计算完了,就要重新开始跳了。if (i == preRange) {jumps++;preRange = curFarthest;}}return jumps;
}

C++:

public:int jump(vector<int>& nums) {int jumps = 0;// 最小跳跃次数int preRange = 0;// 上一次起跳的范围int curFarthest = 0;// 从上一次起跳范围内所能跳的最远距离。for (int i = 0; i < nums.size() - 1; i++) {// 计算从当前位置跳跃所能到大的最远距离,并更新curFarthest。curFarthest = max(curFarthest, i + nums[i]);// 如果上一个跳远范围内都计算完了,就要重新开始跳了。if (i == preRange) {jumps++;preRange = curFarthest;}}return jumps;}

C:

int jump(int *nums, int numsSize) {int jumps = 0;// 最小跳跃次数int preRange = 0;// 上一次起跳的范围int curFarthest = 0;// 从上一次起跳范围内所能跳的最远距离。for (int i = 0; i < numsSize - 1; i++) {// 计算从当前位置跳跃所能到大的最远距离,并更新curFarthest。curFarthest = fmax(curFarthest, i + nums[i]);// 如果上一个跳远范围内都计算完了,就要重新开始跳了。if (i == preRange) {jumps++;preRange = curFarthest;}}return jumps;
}

Python:

def jump(self, nums: List[int]) -> int:# 最小跳跃次数# 上一次起跳的范围# 从上一次起跳范围内所能跳的最远距离。jumps, preRange, curFarthest = 0, 0, 0for i in range(len(nums) - 1):# 计算从当前位置跳跃所能到大的最远距离,并更新curFarthest。curFarthest = max(curFarthest, i + nums[i])# 如果上一个跳远范围内都计算完了,就要重新开始跳了。if i == preRange:jumps += 1preRange = curFarthestreturn jumps

b02d6471f8ec22128a1e52e3cd11a7c5.gif

笔者简介

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

  • 《征服数据结构》目录

  • 《经典图论算法》目录

  • 《经典图论算法》图的介绍

  • 我的新书《算法秘籍》出版了。

这篇关于为啥找对象千万别找大厂男,还好我不是大厂的。。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050879

相关文章

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

IntelliJ IDEA svn chekout 项目发生svn不是内部命令

错误信息: 1、Cannot checkout from svn: 'C:\Program' 不是内部或外部命令,也不是可运行的程序 或批处理文件 2、server ssl cerificate verification failed:certificate issued for a different hostname.issuer is not trusted (服务器ssl证书验证失败

某大厂程序员吐槽:离职交接时,新人被工作量吓退,领导却污蔑我故意劝退新人,我怒晒工作短信反击证明,新人看了后也决定走人了!

一位知名大公司的程序员分享了他离职时的遭遇:在交接工作时,新进的同事因工作量过大而感到压力,但出乎意料的是,他们的领导却指责我故意吓唬新人。为了证明自己的清白,我晒出了工作短信作为反击,结果连新人也决定离开。 在任何组织里,团队文化的优劣都是决定工作效率和质量的关键。一个和谐相处的团队不仅能提升工作效率,还能使工作氛围变得轻松愉快。 然而,一旦团队内部出现权力斗争或领导偏爱小团体、

「Debug R」明明我用的是数据框,为啥运行结果有点不对劲

在「Debug R」有些你认为的报错不是报错(error),是警告(warnnings)里,我解决了一个使用者在 tibble 数据结构赋予行名出现的问题。 这次问题和上次类似,也是没有注意到自己用的数据结构其实不是普通的数据框了,只不过这次的问题的主角是 data.table。 果子老师很喜欢用data.table的一个函数---fread, 它的读取速度非常快,而且使用非常方便,基本不怎么

「Debug R」有些你认为的报错不是报错(error),是警告(warnnings)

在学员答疑群里看到这样一条提问: 提问 对于这种提问,我只想给出一张深藏已久的图作为回复。 警告和报错 在「Debug R」报错"unable to find an inherited method for function"是如何产生的文章中,我提到一个好的搜索引擎是解决问题的重要因素,于是他也在提问中也提到自己用了谷歌。 虽然搜索引擎能够帮助我

输入一个整数,判断其是否是2^n,是就输出这个数,不是就输出和它最接近的为2^n的那个整数。

输入一个整数,判断其是否是2^n,若是,输出这 //个数,若不是,输出和它最接近的为2^n的那个整数。 附加源代码1: #include<stdio.h>#include<stdlib.h>#include<math.h>int main(){int input;//键盘输入一个整数inputint i,j;//i,j待会儿存放input与左边和右边的为2^n的差值int m

为什么在2024年应该使用AVIF而不是JPEG、WebP、PNG和GIF

AVIF是一种新兴的文件格式,本文撰写时它已经在Microsoft Edge中获得了支持,从而实现了显著的浏览器支持。 我们已经不再处于技术的黑暗时代,大多数大型网站平台通常支持最新版本的浏览器及其一年前的版本。你可以开始使用AVIF,并在2024年底之前使用WebP作为回退格式(在此之前回退格式是必要的)。 这意味着什么? 你现在可以主要使用AVIF作为栅格图像的默认格式,因为它基本上取代了

八爪鱼现金流-025-工作的终极目标,不是为了成为更好的员工

工作的终极目标,不是为了成为更好的员工。 而是解放时间和收入自动化 打造自己的被动收入!!! 八爪鱼现金流 八爪鱼

2004年 联想员工亲历联想大裁员:公司不是我的家 (网易裁员事件相关文章)

今天,恐怕是联想历史上规模最大的一次大裁员。我们部门9个人,今天送走了三个,还有三个要转岗,剩下三个。整个研究院走了30多人,转岗20多人。这是我经历的第二次所谓战略性调整,有很多感触,却又好像什么都堵在心里,说不出来。干脆简单记录下这段往事,提醒自己。     [联想精细化裁员]      昨天晚上,研究院秘密召开紧急会议。有20多位“责任经理”参加,我才清楚了整个裁员过程。3月6日启动计

使用jquery的ajax需要注意的地方dataType的设置 (目前我也不是很清楚哎)

没有设置dataType:'json',就出现无法解析返回的data数据,会把data当作字符串处理,而不是json对象,记得以前是不用设dataType的,很奇怪,不知道是不是跟jquery版本有关系 昨天在做ajax时遇到问题,  复制代码代码如下: <SPAN style="WHITE-SPACE: pre">  </SPAN>$.ajax({  url:'<{