同事年底绩效是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)
相关推荐
烟袅21 小时前
LeetCode 142:环形链表 II —— 快慢指针定位环的起点(JavaScript)
前端·javascript·算法
梦65021 小时前
什么是react?
前端·react.js·前端框架
zhougl99621 小时前
cookie、session、token、JWT(JSON Web Token)
前端·json
DoubleKK21 小时前
Python 玩转 MCP:在工具函数中获取请求 Headers 的正确姿势
后端
Ryan今天学习了吗21 小时前
💥不说废话,带你上手使用 qiankun 微前端并深入理解原理!
前端·javascript·架构
调试人生的显微镜21 小时前
深入理解 iOS 16/17/18/26 描述文件管理:多工具协同下的配置与调试新思路
后端
高端章鱼哥21 小时前
前端新人最怕的“居中问题”,八种CSS实现居中的方法一次搞懂!
前端
冷亿!21 小时前
Html爱心代码动态(可修改内容+带源码)
前端·html
Predestination王瀞潞21 小时前
Java EE开发技术(第六章:EL表达式)
前端·javascript·java-ee
掘金0121 小时前
在 Vue 3 项目中使用 MQTT 获取数据
前端·javascript·vue.js