大家好,我是苍何。
等啊等,终于等来华子开奖了,这两天,华为开始陆续正式报批了,并承诺会在本周六(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
题目描述:数字范围按位与
给你两个整数 left
和 right
,表示区间 [left, right]
,返回此区间内所有数字 按位与 的结果(包含 left
和 right
端点)。
示例 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
的位置。当
left
和right
差距较大时,高位必然出现变化,最终结果会逐渐缩小成公共前缀。因此,对于区间
[left, right]
,我们只需找到二进制表示中left
和right
的 公共前缀,其余部分置为0
即可。
如何找到公共前缀:
通过右移
left
和right
,直到它们相等为止,记录右移的次数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
复杂度分析
时间复杂度:
每次右移减少二进制长度,最多需要 O(log2(right))O(\log_{2}(right)) 次右移,因此时间复杂度为 O(log(right))O(\log(right))。
空间复杂度:
仅使用了常数级别的变量,空间复杂度为 O(1)O(1)。
ending
你好呀,我是苍何。是一个每天都在给自家仙人掌讲哲学的执着青年,我活在世上,无非想要明白些道理,遇见些有趣的事。倘能如我所愿,我的一生就算成功。共勉 💪
点击关注下方账号,你将感受到一个朋克的灵魂,且每篇文章都有惊喜。
感谢大家一直以来的阅读、在看和转发,我会把流量主收益都用来发红包,大家可在公众号页面发送相关暗号关键词获取抽奖,每一篇文章会给到一个不同的暗号,对应的抽奖都是独立的,此篇暗号为【华为开奖】,在后台回复【华为开奖】,即可点击进去参与抽奖!抽奖内容、金额、个数等都无变化,在开奖前参与抽奖,操作均有效。
注意,后台(不是评论区,是后台)回复【华为开奖】即可参与抽奖。
后台回复(不是评论区,是后台)即可参与抽奖。
后台回复(不是评论区,是后台)即可参与抽奖。
就像大家之前回复【八股】一样。