某疆员工爆料:准备给一个34岁的降薪50%,结果他刚离婚没软肋了,就把矛头转向另一个31岁,刚结婚准备要小孩的。

文摘   2024-11-22 12:25   山西  
今天看到一个大瓜:据说某疆某位员工爆料,原本准备给一个34岁的员工降薪50%,结果发现他刚离婚,毫无软肋,硬气得很,直接无效了!于是矛头又指向了另一个31岁的,刚结婚还准备要孩子的小伙伴。

作为一个程序员,我觉得,这事情不管真假,都在提醒我们一件极易被我们忽略的事情,那就是,职场别太“透明”,信息差才是护身符

因为有时候,太多暴露自己的底牌,会让别人轻松找到你的软肋,比如你有房贷、有家庭责任等。对于公司来说,这些软肋可能成为谈判桌上压你筹码的关键点。
该说的要说、该装的要装,说到底,就是要给自己打造一个“不好惹”的职场形象。别被随意当成“好拿捏”的对象,否则,公司调薪、项目安排这种事,一不留神就轮到你头上了。😒

算法题:猜数字游戏

聊一道有趣的算法题:猜数字游戏(Guess Number Game)。
这题算是算法界的“全民闯关小游戏”,既能锻炼逻辑思维,也能让人头秃🤯。
这道题的玩法是这样的:你作为游戏参与者,需要在一个给定范围内猜出一个随机生成的数字。系统会告诉你“猜高了”还是“猜低了”,直到你猜中为止。

问题解析

题目的关键其实很简单:用尽可能少的次数找到正确的数字。直接蛮力一个一个猜固然可以,但程序员嘛,怎么能不用点“聪明算法”呢?所以,这里有个经典的“二分查找法”派上用场了!

二分查找核心思想

二分查找的套路很清晰,每次都把搜索范围减半,直到找到目标。对于这个猜数字游戏,我们的思路可以这样写:
  1. 定义一个上下界 lowhigh
  2. 每次取中间值 mid,比较这个值和目标值的关系。
  • 如果 mid 小于目标值,说明数字在右边,更新 low
  • 如果 mid 大于目标值,说明数字在左边,更新 high
  • 循环直到找到目标数字。
  • Java代码实现

    废话不多说,直接上代码,清晰明了:
    import java.util.Random;

    public class GuessNumberGame {
        public static void main(String[] args) {
            int target = new Random().nextInt(100) + 1// 随机生成1到100的数字
            System.out.println("游戏开始!我选了一个1到100的数字,快来猜吧!");
            int result = guessNumber(1100, target);
            System.out.println("恭喜!你猜中了,数字是:" + result);
        }

        public static int guessNumber(int low, int high, int target) {
            int attempts = 0// 记录猜测次数
            while (low <= high) {
                int mid = low + (high - low) / 2// 避免直接相加可能的溢出问题
                attempts++;
                System.out.println("你猜的数字是:" + mid);
                
                if (mid == target) {
                    System.out.println("终于猜中了,用了" + attempts + "次!");
                    return mid;
                } else if (mid < target) {
                    System.out.println("猜低了!");
                    low = mid + 1;
                } else {
                    System.out.println("猜高了!");
                    high = mid - 1;
                }
            }
            return -1// 理论上不会执行到这一步
        }
    }

    代码亮点

    1. 二分查找的经典实现:用了 mid = low + (high - low) / 2,避免 low + high 直接相加可能导致的整数溢出问题。
    2. 循环判断逻辑清晰:通过 if-else 语句明确下一步调整方向。
    3. 尝试次数统计:加了个 attempts,每次猜测递增,既能记录进度,也能满足老板的 KPI。

    运行效果

    运行程序,电脑会扔出“猜低了”“猜高了”的提示,直到你命中数字。如果用二分查找,猜一个范围是 1 到 100 的数字,理论上最多也就需要猜 7 次(因为 2^7 = 128,刚好覆盖了 1 到 100)。
    怎么样,这题是不是又简单又有趣?希望这段代码对你有帮助!如果你有其他花式玩法,欢迎来评论区一起讨论呀!

    -END-


    ok,今天先说到这,老规矩,给大家分享一份不错的副业资料,感兴趣的同学找我领取。

    以上,就是今天的分享了,看完文章记得右下角给何老师点赞,也欢迎在评论区写下你的留言

    程序媛山楂
    5年+程序媛,专注于AI编程普及。本号主要分享AI编程、Chat账号、Chat教程、Sora教程、Suno AI、Sora账号、Sora提示词、AI换脸、AI绘画等,帮助解决各种AI疑难杂症。
     最新文章