值得去公司(完整榜单)

news2024/12/26 2:10:13

值得去公司

近日,脉脉出了一份《职得去公司》榜单:

alt

前三名是 TAM(老牌巨头百度日常掉队)。

大家肯定好奇这个榜单怎么统计出来的。

这上面写的是根据「雇主指数」进行排名,广义的雇主指数包括了多个维度,包括但不限于员工满意度、员工流失率、员工留存率、薪酬竞争力、员工福利、企业文化和价值观、品牌声誉、晋升机会 等多个维度,因此广义上的雇主指数分数越高,代表这家公司越值得去,没毛病。

脉脉这一份榜单其实并不依据广义上的雇主指数。不是脉脉不想,而是这些数据几乎不可能完全收集。

那么榜单怎么来的,在榜单说明中给出了答案:

alt

根据「脉脉用户对该企业相关内容的浏览量、互动量、正负向情绪」等用户行为大数据,通过建模计算而得。

这就很有意思了,但我也有另外一个担心,互联网黑话,模型能分出来正负向情绪吗?另外我如果只发一个 [狗头] 表情,阁下又如何应对?

但无论如何,有榜单就图一乐好了,以下贴出最新的完整榜单:

alt alt alt

...

回归主题。

来一道和「秋招」相关的算法题。

题目描述

平台:LeetCode

题号:190

颠倒给定的 32 位无符号整数的二进制位。

提示:

  • 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。
  • Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在上面的 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825。

进阶:

  • 如果多次调用这个函数,你将如何优化你的算法?

示例 1:

输入: 00000010100101000001111010011100

输出: 00111001011110000010100101000000

解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596,
     因此返回 964176192,其二进制表示形式为 00111001011110000010100101000000。

示例 2:

输入:11111111111111111111111111111101

输出:10111111111111111111111111111111

解释:输入的二进制串 11111111111111111111111111111101 表示无符号整数 4294967293,
     因此返回 3221225471 其二进制表示形式为 10111111111111111111111111111111 。

提示:

  • 输入是一个长度为 32 的二进制字符串

「对称位」构造

一个简单的做法是对输入的 做诸位检查。

「如果某一位是 1 的话,则将答案相应的对称位置修改为 1。」

Java 代码:

public class Solution {
    public int reverseBits(int n) {
        int ans = 0;
        for (int i = 0; i < 32; i++) {
            if (((n >> i) & 1) == 1) ans |= (1 << (31 - i));
        }
        return ans;
    }
}

C++ 代码:

class Solution {
public:
    int reverseBits(uint32_t n) {
        int ans = 0;
        for (int i = 0; i < 32; i++) {
            if ((n >> i) & 1) ans |= (1 << (31 - i));
        }
        return ans;
    }
};

Python 代码:

class Solution:
    def reverseBits(self, n: int) -> int:
        ans = 0
        for i in range(32):
            if (n >> i) & 1:
                ans |= (1 << (31 - i))
        return ans
  • 时间复杂度: int 固定 位,循环次数不随输入样本发生改变。复杂度为
  • 空间复杂度:

「逐位分离」构造

另外一种做法是,每次都使用 的最低一位,使用 的最低一位去更新答案的最低一位,使用完将 进行右移一位,将答案左移一位。

「相当于每次都用 的最低一位更新成 的最低一位。」

Java 代码:

public class Solution {
    public int reverseBits(int n) {
        int ans = 0, cnt = 32;
        while (cnt-- > 0) {
            ans <<= 1;
            ans += (n & 1);
            n >>= 1;
        }
        return ans;
    }
}

C++ 代码:

class Solution {
public:
    int reverseBits(uint32_t n) {
        int ans = 0, cnt = 32;
        while (cnt-- > 0) {
            ans <<= 1;
            ans += (n & 1);
            n >>= 1;
        }
        return ans;
    }
};

Python 代码:

class Solution:
    def reverseBits(self, n: int) -> int:
        ans = 0
        for _ in range(32):
            ans <<= 1
            ans += (n & 1)
            n >>= 1
        return ans
  • 时间复杂度: int 固定 32 位,循环次数不随输入样本发生改变。复杂度为
  • 空间复杂度:

分组互换

事实上,可以对于长度固定的 int 类型,我们可以使用「分组构造」的方式进行。

「两位互换 -> 四位互换 -> 八位互换 -> 十六位互换。」

代码:

public class Solution {
    public int reverseBits(int n) {
        n = ((n & 0xAAAAAAAA) >>> 1)  | ((n & 0x55555555) << 1);
        n = ((n & 0xCCCCCCCC) >>> 2)  | ((n & 0x33333333) << 2);
        n = ((n & 0xF0F0F0F0) >>> 4)  | ((n & 0x0F0F0F0F) << 4);
        n = ((n & 0xFF00FF00) >>> 8)  | ((n & 0x00FF00FF) << 8);
        n = ((n & 0xFFFF0000) >>> 16) | ((n & 0x0000FFFF) << 16);
        return n;
    }
}

C++ 代码:

class Solution {
public:
    int reverseBits(uint32_t n) {
        n = ((n & 0xAAAAAAAA) >> 1) | ((n & 0x55555555) << 1);
        n = ((n & 0xCCCCCCCC) >> 2) | ((n & 0x33333333) << 2);
        n = ((n & 0xF0F0F0F0) >> 4) | ((n & 0x0F0F0F0F) << 4);
        n = ((n & 0xFF00FF00) >> 8) | ((n & 0x00FF00FF) << 8);
        n = ((n & 0xFFFF0000) >> 16) | ((n & 0x0000FFFF) << 16);
        return n;
    }
};

Python 代码:

class Solution:
    def reverseBits(self, n: int) -> int:
        n = ((n & 0xAAAAAAAA) >> 1) | ((n & 0x55555555) << 1)
        n = ((n & 0xCCCCCCCC) >> 2) | ((n & 0x33333333) << 2)
        n = ((n & 0xF0F0F0F0) >> 4) | ((n & 0x0F0F0F0F) << 4)
        n = ((n & 0xFF00FF00) >> 8) | ((n & 0x00FF00FF) << 8)
        n = ((n & 0xFFFF0000) >> 16) | ((n & 0x0000FFFF) << 16)
        return n
  • 时间复杂度:如何进行互换操作取决于 int 长度。复杂度为
  • 空间复杂度:

「请不要认为「方法三」一定就比「方法一」等直接采用循环的方式更快。此类做法的最大作用,不是处理 int,而是处理更大位数的情况,在长度只有 32 位的 int 的情况下,该做法不一定就比循环要快(该做法会产生多个的中间结果,导致赋值发生多次,而且由于指令之间存在对 n 数值依赖,可能不会被优化为并行指令),这个道理和对于排序元素少的情况下,我们会选择「冒泡排序」而不是「归并排序」是一样的,因为「冒泡排序」常数更小。」

最后

巨划算的 LeetCode 会员优惠通道目前仍可用 ~

使用福利优惠通道 leetcode.cn/premium/?promoChannel=acoier,年度会员 有效期额外增加两个月,季度会员 有效期额外增加两周,更有超大额专属 🧧 和实物 🎁 福利每月发放。

我是宫水三叶,每天都会分享算法知识,并和大家聊聊近期的所见所闻

欢迎关注,明天见。

更多更全更热门的「笔试/面试」相关资料可访问排版精美的 合集新基地 🎉🎉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2181400.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PasteForm最佳CRUD实践,实际案例PasteTemplate详解之3000问(三)

作为“贴代码”力推的一个CRUD实践项目PasteTemplate,在对现有的3个项目进行实战后效果非常舒服&#xff01;下面就针对PasteForm为啥我愿称为最佳CRUD做一些回答: 哪里可以下载这个PasteForm的项目案例 目前“贴代码”对外使用PasteForm的项目有"贴Builder(PasteSpide…

Redis: 主从复制读写分离环境搭建

概述 Redis 的单机模式实际上就是在一个服务器上装了一个单节点的Redis通过简单的配置和简单的命令启动起来就可以使用这种搭建环境&#xff0c;不保证高可用的情况下&#xff0c;完全没有问题如果说你的项目必须要具备高可用&#xff0c;而且 Redis 也要提供更高的性能这个单…

java项目实现钉钉异常告警实时监控

最近有个小伙伴问我&#xff0c;我们的项目核心业务的地方总是有异常&#xff0c;虽然有打印日志&#xff0c;但不能立马通知我&#xff1b;所以今天我就教大家如何实现异常报警实时提醒 1.需要有钉钉 自己新建的企业用户 2.建一个群&#xff0c;需要有三人以上&#xff1b;…

yolov8/9/10模型在仪表盘、指针表检测中的应用【代码+数据集+python环境+训练/应用GUI系统】

可视化训练系统 可视化应用系统 yolov8/9/10模型在仪表盘、指针表检测中的应用【代码数据集python环境训练/应用GUI系统】 背景意义 随着科学技术的快速发展&#xff0c;机器视觉以及人工智能等技术逐渐从理论走向实践&#xff0c;并在各个领域得到广泛应用。机器视觉检测系统…

TCP CUBIC 曲线对 BIC 折线的拟合

bic 旨在对 reno 改进&#xff0c;用二分逼近替换线性遍历逼近&#xff0c;时间规模从 O ( W m a x ) O(W_{max}) O(Wmax​) 下降到 O ( ln ⁡ W m a x ) O(\ln {W_{max}}) O(lnWmax​)&#xff0c;这是本质&#xff0c;而 cubic 可以看作对 bic 的 bugfix&#xff0c;解除了…

新书速览|MySQL 9从入门到性能优化:视频教学版

《MySQL 9从入门到性能优化:视频教学版》 本书内容 MySQL是流行的关系数据库管理系统之一&#xff0c;由于其体积小、速度快、总体拥有成本低、开放源码等特点&#xff0c;一般中小型企业甚至大型互联网企业的应用开发都选择MySQL作为数据库。《MySQL 9从入门到性能优化:视频教…

【经验分享】自动化测试框架实战

一、什么是自动化测试框架 在了解什么是自动化测试框架之前&#xff0c;先了解一下什么叫框架&#xff1f;框架是整个或部分系统的可重用设计&#xff0c;表现为一组抽象构件及构件实例间交互的方法;另一种定义认为&#xff0c;框架是可被应用开发者定制的应用骨架。前者是从应…

「iOS」——KVC

iOS学习 前言KVC模式KVC设值KVC取值KVC使用keyPathKVC处理异常处理不存在的key处理nil异常 KVC处理字典KVC高阶消息传递 总结 前言 对KVC模式的简单学习和总结。 KVC模式 KVC&#xff08;Key-Value Coding&#xff0c;键值编码&#xff09;是一种通过字符串来访问对象属性的机…

详解Linux文件系统

先来研究一下磁盘&#xff1a; LBA 磁头面数 所有磁头是共进退的。 每个扇区的大小假设为&#xff1a;512 磁盘的总容量&#xff1a;盘面*t*s*512 数组的下标范围&#xff1a;盘面*t*s LBA&#xff1a;xxx 假设xxx为LBA地址 xxx/1000h 及为h号盘面 xxx/100c 及c号磁道…

国产化框架PaddleYOLO结合Swanlab进行作物检测

1. 项目介绍 粮食安全&#xff0c;作为人类生存与发展的基石&#xff0c;始终是全球关注的焦点。它不仅仅关乎粮食的充足供应&#xff0c;更涉及粮食的质量安全、营养健康以及可持续生产等多个维度。在全球化、气候变化和资源环境约束日益加剧的背景下&#xff0c;如何确保粮食…

ComfyUI物品移除讲解

实现效果 一、下载插件 comfyui inpaint nodes 提供重绘功能节点&#xff0c;效果比自带的好很多 官方介绍 使用ComfyUI更好地进行修补的节点&#xff1a;用于SDXL&#xff0c;LaMa&#xff0c;MAT和各种其他工具的Foocus修补模型&#xff0c;用于预填充修补和去除区域。 插件…

Android调用科大讯飞语音转写 API以及解析踩坑之旅

需求 需要对本地音频文件&#xff0c;调用科大讯飞的api进行转文字&#xff0c;本来呢&#xff0c;以为很简单&#xff0c;结果坑不少。 语音转写 API 文档 坑1&#xff1a;解析 下载demo&#xff0c;代码也挺简单&#xff0c;放到idea中&#xff0c;替换一下key&#xff0c…

基于Springboot+Vue的网上书店(含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 在这个…

用户体验测试——21条UX设计原则

根据心理学的研究和发展,对应理论不断被完善到用户体验设计领域,以下21条UX设计原则即为心理学在用户体验设计中的应用,在设计和测试中应用这些原则,可以提高用户体验质量特性,如下所示: 21条UX设计原则 有效性 特斯勒定律(最小复杂度定律) 这个定律也被称为“复杂性…

数据转换新利器,开启企业高效之路

Maria是 S 公司的采购专员&#xff0c;最近需要进行公司设备的采购&#xff0c;这可让她犯了难&#xff1a;公司多个部门提交采购申请&#xff0c;但每个部门都有着不同的需求。一时间她就收到了大量的申请单&#xff0c;却难以高效整合处理&#xff08;比如哪些申请可以合并采…

环境变量

见一见环境变量&#xff1a; 查看环境变量的命令 命令行&#xff1a; echo &PATH echo &HOME env ps ajx ps aux ps -f -o pid code.c中获取环境变量 main&#xff08;char* env[]&#xff09; char* getenv&#xff08;env_name&#xff09; 本地变量 shell…

App模拟下载场景的demo

摘要 目的&#xff1a;提供一个稳定的下载场景&#xff0c;可以手动触发和定时触发下载&#xff0c;每次下载相同大小文件&#xff0c;研究下载场景的功耗影响 原理&#xff1a;把电脑当做服务器&#xff0c;手机测试App固定下载电脑存放的某个XXXMB的大文件&#xff0c;基于…

如何使用ssm实现校园体育赛事管理系统的设计与实现+vue

TOC ssm713校园体育赛事管理系统的设计与实现vue 绪论 课题背景 身处网络时代&#xff0c;随着网络系统体系发展的不断成熟和完善&#xff0c;人们的生活也随之发生了很大的变化。目前&#xff0c;人们在追求较高物质生活的同时&#xff0c;也在想着如何使自身的精神内涵得…

PE节表中是否存在misc.VirtualSize 比SizeofRawData还要大的情况

确实是存在的,这是win10自带记事本,可以看到 确实是大.所以在申请imagebuffer的时候,还是需要比较大小.但是在还原的时候.只考虑sizeofRawData即可>

【Android 14源码分析】WMS-窗口显示-第一步:addWindow

忽然有一天&#xff0c;我想要做一件事&#xff1a;去代码中去验证那些曾经被“灌输”的理论。                                                                                  – 服装…