当前位置:首页>男朋友>男朋友在飞书被裁了,刚买的上海房子,每个月房贷加房租1.2w,怎么办?

男朋友在飞书被裁了,刚买的上海房子,每个月房贷加房租1.2w,怎么办?

  • 2026-10-28 21:06:08
男朋友在飞书被裁了,刚买的上海房子,每个月房贷加房租1.2w,怎么办?

前几天飞书刚宣布裁员,有的人就坐不住了,一位网友说:自己的男朋友在飞书被裁了,上海的房子才买一年,每月有7千房贷和5000房租,怎么办?

这还能怎么办,一份工作而已,又不是得了绝症,工作没了再找,再说失业的又不止他一个。

除了体制内的大多数人都会经历过失业,裁员也不是他的错,你应该做的是安慰自己的男朋友,做好下一步的规划,继续找工作。

我们来看下各位网友的评论,那是相当精彩,千万不要听网友的再找一个,即便找了也不能保证他永远不会失业,到时候如果再失业怎么办呢?再找?

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

来看下今天的算法题,这题是LeetCode的第242题:有效的字母异位词。

问题描述

来源:LeetCode第242题
难度:简单

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。

示例1:

输入: s = "anagram", t = "nagaram"

输出: true

示例2:

输入: s = "rat", t = "car"

输出: false

  • 1 <= s.length, t.length <= 5 * 10^4

  • s 和 t 仅包含小写字母

问题分析

这题让判断两个字符串是否是字母异位词,所谓的字母异位词也就是两个字符串中每个字符出现的次数都是一样的,这道比较简单。
我们先统计第一个字符串中每个字符出现的次数,然后再统计第二个字符串中每个字符出现的次数(参照下面的python代码),统计第二个字符串的时候要减去对应字符的次数,如果为负,说明第二个字符串中某个字符比第一个字符串中相同的字符多,他们不可能是字母异位词,直接返回false。
实际上这里还可以优化,使用一个for循环(参照java,c++,c代码),如果最后count数组中每个元素都是0,说明两个字符串中每个字符的个数都是相等的,他们就是字母异位词,直接返回true。
JAVA:
public boolean isAnagram(String s, String t) {
    if (s.length() != t.length())
        return false;
    int[] count = new int[128];
    int c = 0;
    for (int i = 0; i < s.length(); i++) {
        if (++count[s.charAt(i)] == 1) c++;
        if (--count[t.charAt(i)] == 0) c--;
    }
    return c == 0;
}
C++:
public:
    bool isAnagram(string s, string t) {
        if (s.size() != t.size())
            return false;
        vector<int> count(128, 0);
        int c = 0;
        for (int i = 0; i < s.length(); i++) {
            if (++count[s[i]] == 1) c++;
            if (--count[t[i]] == 0) c--;
        }
        return c == 0;
    }
C:
bool isAnagram(char *s, char *t) {
    if (strlen(s) != strlen(t))
        return false;
    int count[128] = {0};
    int c = 0;
    for (int i = 0; i < strlen(s); i++) {
        if (++count[s[i]] == 1) c++;
        if (--count[t[i]] == 0) c--;
    }
    return c == 0;
}
Python:
def isAnagram(self, s: str, t: str) -> bool:
    if len(s) != len(t):
        return False
    count = [0] * 128
    for i in range(0, len(s)):
        count[ord(s[i])] += 1
    for i in range(0, len(t)):
        count[ord(t[i])] -= 1
        if count[ord(t[i])] < 0:
            return False
    return True

来自:数据结构和算法

最新文章

随机文章