程序员老鬼

提了离职,但公司不放人,非要呆满30天。收到的offer又等不了这么久,怎么办?

提到离职,很多打工人都会头疼。特别是当你拿到了一份心仪的 offer,却又发现公司要求必须呆满 30 天,这时候怎么办?

Image

来看看网友们的回答:

有人说,请一个月的事假。

Image

也有人说,这边请假,那边直接去办入职,然后说离职证明正在走流程。

Image

正常情况,确实是正式员工需要提前一个月提离职,试用期员工是提前一周。

如果你提了离职,公司要求你呆满30天,但新offer等不了,先试着和公司沟通,看能不能缩短时间,提出在离职后继续远程协助交接。就算离职也要保持专业态度,认真完成交接工作,友好告别,不要因为不满而做出不理智的行为。离职是为了更好的未来,保持积极心态迎接新的开始。

下面是今日的大厂算法题

现在环境就这样,不管是大厂还是小厂的笔面试题都会考察算法,所以算法是你内卷路上不可或缺的模块。下面是今日算法题,来自LeetCode的第57题:最后一个单词的长度,下面是我的算法思路及实现,让我们来看看吧。

算法题目:

给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0。

引言:

计算字符串中最后一个单词的长度是一个基本的字符串处理问题,经常出现在编程面试中。这个问题测试了面试者对字符串操作的熟悉度。

算法思路:

1.首先,去除字符串末尾的空格,确保字符串不以空格结尾。

2.从字符串的末尾开始向前遍历,直到找到第一个空格或遍历完整个字符串。

3.计算从字符串末尾到这个空格(或字符串开头)之间的距离,这个距离即为最后一个单词的长度。

代码实现:

JavaScript 实现:

function lengthOfLastWord(s) {    let length = 0;    let i = s.length - 1;    // Ignore trailing spaces    while (i >= 0 && s[i] === ' ') {        i--;    }    // Count the length of the last word    while (i >= 0 && s[i] !== ' ') {        length++;        i--;    }    return length;}

Java 实现:

public class Solution {    public int lengthOfLastWord(String s) {        int length = 0;        int index = s.length() - 1;        // Ignore trailing spaces        while (index >= 0 && s.charAt(index) == ' ') {            index--;        }        // Count the length of the last word        while (index >= 0 && s.charAt(index) != ' ') {            length++;            index--;        }        return length;    }}

Python 实现:

def lengthOfLastWord(s):    length = 0    i = len(s) - 1    # Ignore trailing spaces    while i >= 0 and s[i] == ' ':        i -= 1    # Count the length of the last word    while i >= 0 and s[i] != ' ':        length += 1        i -= 1    return length

Go 实现:

func lengthOfLastWord(s string) int {    length := 0    i := len(s) - 1    // Ignore trailing spaces    for i >= 0 && s[i] == ' ' {        i--    }    // Count the length of the last word    for i >= 0 && s[i] != ' ' {        length++        i--    }    return length}

算法解析:

  • 时间复杂度:O(n),其中 n 是字符串 s 的长度。

  • 空间复杂度:O(1),只使用了常量空间。

示例和测试:

假设给定字符串为 "Hello World ",期望输出为 5;给定字符串为 " ",期望输出为 0。

JavaScript 示例和测试:

console.log(lengthOfLastWord("Hello World  ")); // 输出 5console.log(lengthOfLastWord("   ")); // 输出 0

Java 示例和测试:

public class Main {    public static void main(String[] args) {        Solution solution = new Solution();        System.out.println(solution.lengthOfLastWord("Hello World  ")); // 输出 5        System.out.println(solution.lengthOfLastWord("   ")); // 输出 0    }}

Python 示例和测试:

print(lengthOfLastWord("Hello World  ")) # 输出 5print(lengthOfLastWord("   ")) # 输出 0

Go 示例和测试:

package main
import "fmt"
func main() { fmt.Println(lengthOfLastWord("Hello World ")) // 输出 5 fmt.Println(lengthOfLastWord(" ")) // 输出 0}

总结:

计算字符串中最后一个单词的长度是一个直接的字符串处理问题,通过从后向前遍历字符串并计算最后一个单词的长度,可以有效地解决这个问题。

我是何老师,一位AI创业者,擅长各类AI的深度玩法,通过AI工具实现3个月涨粉20w+。代表团队参加多场创新创业大赛,其中在成都和重庆联合举办的创新创业大赛中,凭借着团队出色的AI项目获得二等奖的好成绩,并成功当选当地青联委员。

Image

推荐阅读:

Image