终于知道工资为什么要保密了

2024-01-04 13:02:08 浏览数 (2)

大家好,我是吴师兄。

在职场生涯中,我们常常会遇到一个微妙而复杂的问题:工资的保密性

我们很想窥探同事们的工资是多少,同时有忌讳同事知道自己的薪资,对于公司来说,也不想把每个人的工资待遇摆在明面上来。

首先,公开工资信息可能会引发不必要的比较和不满。例如,当你发现自己的努力与收入相比,与同事存在显著差异时,这种发现可能会破坏你的工作积极性。

此外,了解到同事的高收入,尽管他们的工作量可能比你少,这种情况会导致你感到失衡和不公平,这种心态不利于我们个人成长和职业发展。

同时,假设是一位刚步入职场的年轻人,在入职初期发现自己的薪资低于期望。这一发现使他感到沮丧,导致他对未来的职业发展失去了信心。工资保密在这里的作用是保护个人的自尊和积极性,避免因为早期的薪资差异而影响职业生涯的长远规划

再比如是一个在公司工作多年的资深员工,意外得知新入职的年轻员工的起薪接近或甚至高于他的薪资。这种情况可能会引起他的不满和怨气,影响他对公司的忠诚度和工作。

所以工资保密还是有一定的好处的。

然后继续来学习 LeetCode 上面和工资有关的一道题目:去掉最低工资和最高工资后的工资平均值。

题目描述是这样子的。

给你一个整数数组 salary ,数组里每个数都是 唯一 的,其中 salary[i] 是第 i 个员工的工资。 请你返回去掉最低工资和最高工资以后,剩下员工工资的平均值。

这个问题的解决思路相对简单明了。有两种解法,第一种如下:

  1. 对工资数组进行排序。
  2. 去掉数组中的第一个元素(最低工资)和最后一个元素(最高工资)。
  3. 计算剩余元素的总和,并除以剩余元素的数量得到平均值。
代码语言:javascript复制
public double average(int[] salary) {
    Arrays.sort(salary);
    double sum = 0;
    for (int i = 1; i < salary.length - 1; i  ) {
        sum  = salary[i];
    }
    return sum / (salary.length - 2);
}

第二种解法:

  1. 在一次遍历中找到最高和最低的工资。
  2. 同时计算总工资。
  3. 去掉最高和最低工资后,计算平均值。
代码语言:javascript复制
public double average(int[] salary) {
    int maxSalary = Integer.MIN_VALUE;
    int minSalary = Integer.MAX_VALUE;
    double sum = 0;

    for (int s : salary) {
        maxSalary = Math.max(maxSalary, s);
        minSalary = Math.min(minSalary, s);
        sum  = s;
    }

    return (sum - maxSalary - minSalary) / (salary.length - 2);
}

我总结并录制了 100 道 LeetCode 高频算法题,涵盖了数组、链表、栈、队列、二叉树、回溯算法、动态规划等众多高频知识点,所选的题目也是非常有特征的题目,一题抵十题。

0 人点赞