华为开奖,薪资有人欢喜有人愁

文摘   2024-11-27 14:08   湖北  
这是苍何的第 239 篇原创!

大家好,我是苍何。

等啊等,终于等来华子开奖了,这两天,华为开始陆续正式报批了,并承诺会在本周六(11-30)发正式 offer

但薪资有人欢喜,有人愁,对应的职级,有人开了 13 级,有人开了 14 级,最牛的有人直接开到 16 级。(玛雅,真猛👍)

目前已开奖的情况做了下统计:

1、硕士 985,岗位通软,base 上海,职级 14a,薪资 25k * 16

2、硕士 985,岗位算法工程师,base 上海,职级 15 a,薪资 (28-31) k * 16。

3、硕士海归,2012 实验室,base 上海,职级 16 c,薪资 34 k * 12。100 k 年终。

今年华为研发中心从上海浦东金桥搬到青浦朱家角,这批新鲜的血液基本上就是在青浦办公了。

建议大家提前租好房子,目前房东涨价比较猛,可以多看看一些转租信息,会比房东直租便宜不少。

漫长的等待,手里终于有 offer 可以对比了,有人对比了鹅厂和华子,薪资差不多的情况下,纠结于选哪个😂

这还需要问吗?不是闭眼选吗?

感觉华子这波开奖,惊不起过多的风浪,本以为会给个大惊喜,结果一轮下来,靠,还没滴滴开的高。

当然滴滴是 SP。开奖这事,有人欢喜有人愁,不过,手里的 offer 可得好好做个选择,特别是如今这情况,稍微做错了选择,肠子都可能悔青。

这里建议大家,对比咨询下,星球里看到不少同学开始做 offer 咨询了,过来人的经验多少能从不同角度给你一些建议,所以别害羞,大胆提问吧。

好啦,关于华为开奖薪资,你有什么补充的呢?欢迎评论区讨论。

...

回归主题。

今天来一道华为开发考过的面试算法题,给枯燥的牛马生活加加油😂。

题目描述

平台:LeetCode

题号:201

题目描述:数字范围按位与

给你两个整数 leftright,表示区间 [left, right],返回此区间内所有数字 按位与 的结果(包含 leftright 端点)。


示例 1:

输入:

left = 5, right = 7

输出:

4

示例 2:

输入:

left = 0, right = 0

输出:

0

示例 3:

输入:

left = 1, right = 2147483647

输出:

0

提示:

  • 0≤left≤right≤231−10 \leq left \leq right \leq 2^{31} - 1


解题思路

  1. 分析按位与的特性:

  • 按位与操作在二进制中会保留只有所有位都为 1 的位置。

  • leftright 差距较大时,高位必然出现变化,最终结果会逐渐缩小成公共前缀。

  • 因此,对于区间 [left, right],我们只需找到二进制表示中 leftright公共前缀,其余部分置为 0 即可。

  • 如何找到公共前缀:

    • 通过右移 leftright,直到它们相等为止,记录右移的次数 shift

    • 最后,将相等的值左移回去,即可得到最终结果。

  • 优化:

    • 不需要对整个区间的每个数字进行遍历,只通过位操作即可高效求解。


    代码实现

    Java 实现

    public class RangeBitwiseAnd {
    public int rangeBitwiseAnd(int left, int right) {
    int shift = 0; // 记录右移次数
    // 找到公共前缀
    while (left < right) {
    left >>= 1; // 左移一位
    right >>= 1; // 右移一位
    shift++;
    }
    // 将公共前缀左移回原位
    return left << shift;
    }
    }

    C++ 实现

    class Solution {
    public:
    int rangeBitwiseAnd(int left, int right) {
    int shift = 0; // 记录右移次数
    // 找到公共前缀
    while (left < right) {
    left >>= 1; // 左移一位
    right >>= 1; // 右移一位
    shift++;
    }
    // 将公共前缀左移回原位
    return left << shift;
    }
    };

    Python 实现

    class Solution:
    def rangeBitwiseAnd(self, left: int, right: int) -> int:
    shift = 0 # 记录右移次数
    # 找到公共前缀
    while left < right:
    left >>= 1 # 左移一位
    right >>= 1 # 右移一位
    shift += 1
    # 将公共前缀左移回原位
    return left << shift

    复杂度分析

    1. 时间复杂度:

    • 每次右移减少二进制长度,最多需要 O(log⁡2(right))O(\log_{2}(right)) 次右移,因此时间复杂度为 O(log⁡(right))O(\log(right))。

  • 空间复杂度:

    • 仅使用了常数级别的变量,空间复杂度为 O(1)O(1)。

    ending

    你好呀,我是苍何。是一个每天都在给自家仙人掌讲哲学的执着青年,我活在世上,无非想要明白些道理,遇见些有趣的事。倘能如我所愿,我的一生就算成功。共勉 💪

    点击关注下方账号,你将感受到一个朋克的灵魂,且每篇文章都有惊喜。

    感谢大家一直以来的阅读、在看和转发,我会把流量主收益都用来发红包,大家可在公众号页面发送相关暗号关键词获取抽奖,每一篇文章会给到一个不同的暗号,对应的抽奖都是独立的,此篇暗号为【华为开奖】,在后台回复【华为开奖】,即可点击进去参与抽奖!抽奖内容、金额、个数等都无变化,在开奖前参与抽奖,操作均有效。

    注意,后台(不是评论区,是后台)回复【华为开奖】即可参与抽奖。
    后台回复(不是评论区,是后台)即可参与抽奖。
    后台回复(不是评论区,是后台)即可参与抽奖。

    就像大家之前回复【八股】一样。

    【我爱这个魔幻的世界】

    苍何
    独立开发者,专注于Java企业级开发,AI 工具提效。偶尔闪光、经常表达、总是真诚。
     最新文章