德州市网站建设_网站建设公司_论坛网站_seo优化
2025/12/26 15:45:12 网站建设 项目流程

背绩效

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

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

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

实在没想到,还有高手。

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

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

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

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

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

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

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

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

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

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

...

回归主题。

周末,继续简单小算法。

题目描述

平台:LeetCode

题号:806

我们要把给定的字符串S从左到右写到每一行上,每一行的最大宽度为 100100100 个单位,如果我们在写某个字母的时候会使这行超过了 100100100 个单位,那么我们应该把这个字母写到下一行。

我们给定了一个数组widths,这个数组 widths[0]widths[0]widths[0] 代表'a'需要的单位, widths[1]widths[1]widths[1] 代表'b'需要的单位,..., widths[25]widths[25]widths[25] 代表'z'需要的单位。

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

将你的答案作为长度为 222 的整数列表返回。

示例 1:

ini

体验AI代码助手

代码解读

复制代码

输入: 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

体验AI代码助手

代码解读

复制代码

输入: 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的长度在 [1,1000][1, 1000][1,1000] 的范围。
  • S只包含小写字母。
  • widths是长度为 262626 的数组。
  • widths[i]widths[i]widths[i] 值的范围在 [2,10][2, 10][2,10]。

模拟

根据题意进行模拟即可。

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

Java 代码:

Java

体验AI代码助手

代码解读

复制代码

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++

体验AI代码助手

代码解读

复制代码

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

体验AI代码助手

代码解读

复制代码

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

体验AI代码助手

代码解读

复制代码

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]; };

  • 时间复杂度:O(n)O(n)O(n)
  • 空间复杂度:不使用toCharArray为 O(1)O(1)O(1),否则为 O(n)O(n)O(n)

作者:宫水三叶的刷题日记
链接:https://juejin.cn/post/7463836172559384627
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询