首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

程序员疯狂跳槽涨薪,年薪5万到年薪58万~

最近在网上冲浪的时候,看到一个非常抓人眼球的贴子。是一个程序员疯狂跳槽涨薪,从2015年踏入职场,月薪仅4.5k,到如今年薪狂飙至58万,啧啧。

一开始,他的收入就非常正常,年终总共攒下来5.85万,是职场新人的普遍状态。然而,从2016年开始,他直接开始狂飙。

先是跳到了月薪7.5k的新岗位,紧接着在2017年和2018年分别实现了11k和18k的月薪。到了2020年,月薪更是达到了22.5k。而在2024年,再次跳槽,月薪一举达到了39k,年薪高达到了58.5万!

看来,那句“程序员涨薪最快的方式就是跳槽”真不是吹的。这位网友的每一次跳槽,都给他带来了质的飞跃。四年内跳了四次槽,每一次都能顺利找到更好的岗位,确实有些让人羡慕。

网友们对此也是褒贬不一。有人感叹那时候行业的宽容,四次跳槽都能顺风顺水。

也有人调侃说一年一跳,简历都要写不下了。

还有的网友分享了自己跳槽反而降薪的悲惨经历,归咎于大环境不好。

那么,程序员究竟应该多久跳一次槽呢?这个问题没有标准答案,具体看每人的情况。我觉得,3到5年换一次工作可能是最合理的节奏,既能避免止步不前,也能给个人成长留足空间。

下面是今日的大厂算法题

今日算法题,来自LeetCode的第28题:找出字符串中第一个匹配项的下标,下面是我的算法思路及实现,让我们来看看吧。

# 算法题目

给定一个字符串 haystack 和一个目标子字符串 needle,找出 needle 在 haystack 中第一次出现的下标。如果 needle 不是 haystack 的一部分,则返回 -1。

# 算法思路

尽管不同的编程语言提供了不同的内置函数或方法来处理字符串搜索,基本思路是一致的:

遍历主字符串 haystack。

对于 haystack 中的每个字符,检查从该位置开始的子字符串是否与 needle 匹配。

如果找到匹配项,返回当前的索引。

如果遍历完成后仍未找到匹配项,返回 -1。

# 代码实现

Java实现

Java 中的 String 类提供了 indexOf 方法:

public class Solution { public int strStr(String haystack, String needle) { return haystack.indexOf(needle); }}

JavaScript实现

JavaScript 提供了 indexOf 方法来简化搜索:

function strStr(haystack, needle) { return haystack.indexOf(needle);}

Go实现

Go 语言的 strings 包提供了 Index 函数来执行搜索:

package main

import ( "fmt" "strings")

func strStr(haystack string, needle string) int { return strings.Index(haystack, needle)}

func main() { fmt.Println(strStr("hello", "ll")) // 输出: 2}

# 算法解析

通过利用各自语言提供的内置函数或方法,我们可以非常简便地实现字符串中第一个匹配项的搜索。这些方法通常经过了优化,能够提供较好的性能。不过,在底层,这些实现依然遵循了上述的算法思路。

# 示例和测试

对于输入 haystack = "hello" 和 needle = "ll",期望的输出应该是 2,因为 needle 第一次出现在 haystack 的下标 2 位置。

Java 测试代码:

public class Main { public static void main(String[] args) { Solution solution = new Solution(); System.out.println(solution.strStr("hello", "ll")); // 输出: 2 }}

JavaScript 测试代码:

console.log(strStr("hello", "ll")); // 输出: 2

Go 测试代码:

func main() { fmt.Println(strStr("hello", "ll")) // 输出: 2}

# 总结

找出字符串中第一个匹配项的下标是一个常见的编程任务,可以通过利用JavaScript、Java和Go语言中提供的内置函数或方法来简化实现。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Olahc2afYod3uB4RWQu0D4UA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券