极越
今天是距离 极越"原地解散" 的第九天。
后来,这家公司还发生了其他"小插曲",包括:
百度 & 吉利 发表联合声明,表示会给员工解决社保缴纳问题,以及维护用户车辆正常使用问题(但这本来就是应该的) 夏一平(就是那个被员工堵住不让走的极越 CEO)发长文致歉,反思自己的错误。同步还被曝光,当时夏一平其实并不是极越 CEO 的第一人选,他本人甚至没有通过李彦宏的面试 极越员工发表万字长文,怒怼夏一平,指出正是他的各种"操作"使得企业雪崩 徐继业被曝开除,就是那个在朋友圈说小米和雷军没有公德心和羞耻心极越公关负责人 🤣(没想到世界线还能进一步收缩
但这些"插曲"充其量只能成为普罗大众的饭后八卦,对那些生活突然遭遇失速、年底失去工作、去向未知,还要和公司的各种拖欠进行周旋的"前极越员工"来说,并不能起到什么实际帮助,因此我也就没和大家同步更新这些内容。
一些不好但又影响面广的消息,虽然会有持续的流量,但我通常只会提及一次,而不会持续的更新后续,因为大概率我的读者中会有当事人,没有当事人会愿意在现实中焦头烂额的时候,还天天被网上的消息伤口撒盐。
尤其是在我第一次提到极越的当天,就有读者在微信上和我联系:
在之后只要涉及"极越"的话题,我都格外小心。
那为什么今天又提及了呢?因为他们总算迎来了好消息。
在有关部门的协调下,极越必须将按照"N+1"的标准为员工提供经济补偿 👍👍👍
那 N+1 能拿到多少,完全取决于薪资和司龄,这就不得不提到「极越这家公司的薪资水平」了。
极越这家公司的员工,什么岗位都有(软件、硬件、法务财务、销售、客服、售前售后、主播摄影 等等),很难说一个薪资平均数。
我们就以"技术"相关的岗位大概看看:
技术岗位的相关薪资,基本属于行业的中等水平。
另外说来也是神奇,这家公司的招聘信息,居然今天都还有人维护?!🤣🤣
对此,你怎么看?
...
回归主题。
冬至快乐,来一道简单算法题。
题目描述
平台:LeetCode
题号:735
给定一个整数数组 asteroids
,表示在同一行的行星。
对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动)。
每一颗行星以相同的速度移动,找出碰撞后剩下的所有行星。
碰撞规则:
两个行星相互碰撞,较小的行星会爆炸。 如果两颗行星大小相同,则两颗行星都会爆炸。 两颗移动方向相同的行星,永远不会发生碰撞。
示例 1:
输入:asteroids = [5,10,-5]
输出:[5,10]
解释:10 和 -5 碰撞后只剩下 10 。5 和 10 永远不会发生碰撞。
示例 2:
输入:asteroids = [8,-8]
输出:[]
解释:8 和 -8 碰撞后,两者都发生爆炸。
示例 3:
输入:asteroids = [10,2,-5]
输出:[10]
解释:2 和 -5 发生碰撞后剩下 -5 。10 和 -5 发生碰撞后剩下 10 。
提示:
模拟 + 栈
由于碰撞抵消总是从相邻行星之间发生,我们可以使用「栈」来模拟该过程。
从前往后处理所有的 ,使用栈存储当前未被抵消的行星,当栈顶元素方向往右,当前 方向往左时,会发生抵消操作,抵消过程根据规则进行即可。
Java 代码:
class Solution {
public int[] asteroidCollision(int[] asteroids) {
Deque<Integer> d = new ArrayDeque<>();
for (int t : asteroids) {
boolean ok = true;
while (ok && !d.isEmpty() && d.peekLast() > 0 && t < 0) {
int a = d.peekLast(), b = -t;
if (a <= b) d.pollLast();
if (a >= b) ok = false;
}
if (ok) d.addLast(t);
}
int sz = d.size();
int[] ans = new int[sz];
while (!d.isEmpty()) ans[--sz] = d.pollLast();
return ans;
}
}
C++ 代码:
class Solution {
public:
vector<int> asteroidCollision(vector<int>& asteroids) {
deque<int> d;
for (int t : asteroids) {
bool ok = true;
while (ok && !d.empty() && d.back() > 0 && t < 0) {
int a = d.back(), b = -t;
if (a <= b) d.pop_back();
if (a >= b) ok = false;
}
if (ok) d.push_back(t);
}
vector<int> ans(d.begin(), d.end());
return ans;
}
};
Python 3 代码:
class Solution:
def asteroidCollision(self, asteroids: List[int]) -> List[int]:
stk = []
for t in asteroids:
ok = True
while ok and stk and stk[-1] > 0 and t < 0:
a, b = stk[-1], -t
if a <= b:
stk.pop(-1)
if a >= b:
ok = False
if ok:
stk.append(t)
return stk
TypeScript 代码:
function asteroidCollision(asteroids: number[]): number[] {
const stk = new Array<number>()
for (const t of asteroids) {
let ok = true
while (ok && stk.length > 0 && stk[stk.length - 1] > 0 && t < 0) {
const a = stk[stk.length - 1], b = -t
if (a <= b) stk.pop()
if (a >= b) ok = false
}
if (ok) stk.push(t)
}
return stk
};
时间复杂度: 空间复杂度:
最后
巨划算的 LeetCode 会员优惠通道目前仍可用 ~
使用福利优惠通道 leetcode.cn/premium/?promoChannel=acoier,年度会员 有效期额外增加两个月,季度会员 有效期额外增加两周,更有超大额专属 🧧 和实物 🎁 福利每月发放。
我是宫水三叶,每天都会分享算法知识,并和大家聊聊近期的所见所闻。
欢迎关注,明天见。