同事年底绩效是C,提离职领导死活不让走,后来领导私下说:他走了,就没人背这个绩效了

背绩效

临近年底,朋友圈和各大职场 App 都在讨论「年终奖能拿多少个月」的话题。

除了对「能拿多少个月」有广泛的讨论以外,还有不少关注点在于「年终奖何时能发」这件事上,毕竟只有真的拿到手了,才能算是钱,而不是饼。

我一直以为,在大厂年终奖这条"鄙视链"上,最差的就是那些"零年终"的小伙伴了。

实在没想到,还有高手。

比零年终更惨的,是要背绩效,同时还得面对领导"惺惺作态"的挽留:

在这位网友发的帖子中提到,自己身边有位同事去年年中的时候是 C 绩效,到了年底还是 C,通常连续得到低绩效,就会面临各种安排(砍福利、降工资 或 被换组),于是这位同事主动提了离职。

但离谱的是,领导死活不让他走,一直以「后面还有机会」这样的说辞来进行画饼。要知道,这位领导大概率是他两次 C 绩效的"贡献者"。

在其他人看来,还以为领导是真心挽留他,这位同事留在公司一定会先苦后甜。

直到后面这位领导私下和楼主说:"他走了,没人背这个绩效了"。

后面楼主才恍然大悟,所谓的挽留,仅仅是为了让他分担一些不好的绩效罢了。

简短的一句话,"他走了,没人背这个绩效了",背后却是实实在在职场霸凌。听起来像是领导的"无奈之举",实则是领导为了应付公司指标(一定要有低绩效的组成),选择性牺牲某些同事的离谱行为。

权利在这些人手上真是可悲,那个背绩效的同事,也有自己的生活,甚至还有自己的家庭。被针对就算了,还得被耗着,被 PUA 朝着那个"有希望,但没结果(下次还是 C 绩效)"的方向去期待,最后还要反省是不是自己的问题。

新的一年,大家都能远离这些垃圾人。

对此,你有想分享的,欢迎评论区交流。

...

回归主题。

周末,继续简单小算法。

题目描述

平台:LeetCode

题号:806

我们要把给定的字符串 S 从左到右写到每一行上,每一行的最大宽度为 <math xmlns="http://www.w3.org/1998/Math/MathML"> 100 100 </math>100 个单位,如果我们在写某个字母的时候会使这行超过了 <math xmlns="http://www.w3.org/1998/Math/MathML"> 100 100 </math>100 个单位,那么我们应该把这个字母写到下一行。

我们给定了一个数组 widths,这个数组 <math xmlns="http://www.w3.org/1998/Math/MathML"> w i d t h s [ 0 ] widths[0] </math>widths[0] 代表 'a' 需要的单位, <math xmlns="http://www.w3.org/1998/Math/MathML"> w i d t h s [ 1 ] widths[1] </math>widths[1] 代表 'b' 需要的单位,..., <math xmlns="http://www.w3.org/1998/Math/MathML"> w i d t h s [ 25 ] widths[25] </math>widths[25] 代表 'z' 需要的单位。

现在回答两个问题:至少多少行能放下 S,以及最后一行使用的宽度是多少个单位?

将你的答案作为长度为 <math xmlns="http://www.w3.org/1998/Math/MathML"> 2 2 </math>2 的整数列表返回。

示例 1:

ini 复制代码
输入: 
widths = [10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]
S = "abcdefghijklmnopqrstuvwxyz"

输出: [3, 60]

解释: 
所有的字符拥有相同的占用单位10。所以书写所有的26个字母,
我们需要2个整行和占用60个单位的一行。

示例 2:

ini 复制代码
输入: 
widths = [4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]
S = "bbbcccdddaaa"

输出: [2, 4]

解释: 
除去字母'a'所有的字符都是相同的单位10,并且字符串 "bbbcccdddaa" 将会覆盖 9 * 10 + 2 * 4 = 98 个单位.
最后一个字母 'a' 将会被写到第二行,因为第一行只剩下2个单位了。
所以,这个答案是2行,第二行有4个单位宽度。

注:

  • 字符串 S 的长度在 <math xmlns="http://www.w3.org/1998/Math/MathML"> [ 1 , 1000 ] [1, 1000] </math>[1,1000] 的范围。
  • S 只包含小写字母。
  • widths 是长度为 <math xmlns="http://www.w3.org/1998/Math/MathML"> 26 26 </math>26 的数组。
  • <math xmlns="http://www.w3.org/1998/Math/MathML"> w i d t h s [ i ] widths[i] </math>widths[i] 值的范围在 <math xmlns="http://www.w3.org/1998/Math/MathML"> [ 2 , 10 ] [2, 10] </math>[2,10]。

模拟

根据题意进行模拟即可。

使用变量 a 代指当前有多少行是满的,使用变量 b 代指当前填充光标所在的位置。

Java 代码:

Java 复制代码
class Solution {
    public int[] numberOfLines(int[] widths, String s) {
        int a = 0, b = 0;
        for (char c : s.toCharArray()) {
            int t = widths[c - 'a'];
            if (b + t > 100 && ++a >= 0) b = t;
            else b += t;         
        }
        if (b != 0) a++;
        return new int[]{a, b};
    }
}

C++ 代码:

C++ 复制代码
class Solution {
public:
    vector<int> numberOfLines(vector<int>& widths, string s) {
        int a = 0, b = 0;
        for (char c : s) {
            int t = widths[c - 'a'];
            if (b + t > 100 && ++a >= 0) b = t;
            else b += t;
        }
        if (b != 0) a++;
        return {a, b};
    }
};

Python 代码:

Python 复制代码
class Solution:
    def numberOfLines(self, widths: List[int], s: str) -> List[int]:
        a, b = 0, 0
        for c in s:
            t = widths[ord(c) - ord('a')]
            if b + t > 100 and a >= 0:
                a += 1
                b = t
            else:
                b += t
        if b != 0:
            a += 1
        return [a, b]

TypeScript 代码:

TypeScript 复制代码
function numberOfLines(widths: number[], s: string): number[] {
    let a = 0, b = 0;
    for (let i = 0; i < s.length; i++) {
        const t = widths[s.charCodeAt(i) - 'a'.charCodeAt(0)];
        if (b + t > 100 && ++a >= 0) b = t;
        else b += t;
    }
    if (b !== 0) a++;
    return [a, b];
};
  • 时间复杂度: <math xmlns="http://www.w3.org/1998/Math/MathML"> O ( n ) O(n) </math>O(n)
  • 空间复杂度:不使用 toCharArray 为 <math xmlns="http://www.w3.org/1998/Math/MathML"> O ( 1 ) O(1) </math>O(1),否则为 <math xmlns="http://www.w3.org/1998/Math/MathML"> O ( n ) O(n) </math>O(n)
相关推荐
青红光硫化黑22 分钟前
React基础之React.memo
前端·javascript·react.js
大麦大麦26 分钟前
深入剖析 Sass:从基础到进阶的 CSS 预处理器应用指南
开发语言·前端·css·面试·rust·uni-app·sass
movee1 小时前
一台低配云主机也能轻松愉快地玩RDMA
linux·人工智能·后端
m0_616188492 小时前
Vue3 中 Computed 用法
前端·javascript·vue.js
六个点2 小时前
图片懒加载与预加载的实现
前端·javascript·面试
程序员清风2 小时前
什么时候会考虑用联合索引?如果只有一个条件查就没有建联合索引的必要了么?
java·后端·面试
Seven972 小时前
【设计模式】掌握建造者模式:如何优雅地解决复杂对象创建难题?
java·后端·设计模式
Patrick_Wilson3 小时前
🔥【全网首篇】30分钟带你从0到1搭建基于Lynx的跨端开发环境
前端·react.js·前端框架
Moment3 小时前
前端 社招 面筋分享:前端两年都问些啥 ❓️❓️❓️
前端·javascript·面试
Moment3 小时前
一坤时学习 TS 中的装饰器,让你写 NestJS 不再手软 😏😏😏
前端·javascript·面试