搜广推校招面经三十九

小红书﹣图搜

一、两个整数的汉明距离

两个整数之间的汉明距离是指这两个数字对应二进制位相同位置不同的个数。换句话说,它就是将一个整数变成另一个整数所需要改变的二进制位的数量。例如,如果两个整数在它们的二进制表示中有三个位置上的比特不同,那么这两个整数的汉明距离就是3。
计算两个整数的汉明距离可以通过以下步骤实现:

  1. 首先对这两个整数进行异或(XOR)运算。异或运算是按位操作,当且仅当输入位不同时输出为1。因此,通过异或运算我们可以得到一个新的数,这个数的每个1都代表了原始两个数在那个位置上是不同的。
  2. 然后统计异或结果中1的个数,这个数量就是汉明距离。
  3. 代码:
def hamming_distance(x, y):xor_result = x ^ y     #  对两个数字做异或distance = 0while xor_result:  # 统计异或结果中1的个数(可以直接遍历,这里使用了一种叫做布赖恩·克尼根算法(Brian Kernighan's Algorithm)来高效计算二进制中1的个数)distance += 1xor_result &= xor_result - 1  # Remove the lowest set bit from xor_resultreturn distance# 示例调用
x = 1  # 二进制表示为 0001
y = 4  # 二进制表示为 0100
print("汉明距离:", hamming_distance(x, y))  # 输出应为2

1.2 编辑距离

如果大家做过一些文字或者字符串的特征特征工程,那一定知道另外一个度量字符串差异的距离,叫编辑距离
汉明距离和编辑距离在某些方面看起来相似,因为它们都涉及到了字符串(或数字的二进制表示)之间的差异性度量。

1.2.1. 力扣hot100_72.编辑距离(中等)

在这里插入图片描述

二、将 Attention 的点积改为余弦相似度会怎么样?

2.1. 归一化效果

  • 点积:受向量长度影响,可能导致某些维度主导注意力权重。
  • 余弦相似度:通过归一化消除向量长度的影响,使注意力更聚焦于方向而非大小。
  • 余弦相似度:在某些任务中可能提升表现,尤其是当向量长度差异较大时,但并非总是优于点积。

2.2. 计算复杂度

  • 点积:计算简单,复杂度为 O ( d ) O(d) O(d),其中 d d d 是向量维度。
  • 余弦相似度:需额外计算向量的 L2 范数,复杂度略高,但仍为 O ( d ) O(d) O(d)

三、装饰器是什么?

什么是 Python 装饰器

Python 装饰器(Decorator)是一种用于修改或扩展函数或方法行为的特殊语法。它本质上是一个高阶函数,接受一个函数作为输入,并返回一个新的函数。装饰器通常用于在不修改原函数代码的情况下,为函数添加额外的功能(如日志记录、权限检查、性能测试等)。

3.1. 装饰器的基本概念

  • 装饰器是一个函数(或可调用对象),它接受一个函数作为参数,并返回一个新的函数。
  • 装饰器使用 @ 符号来应用到目标函数上,其作用是对目标函数进行“包装”,从而在不修改原函数代码的情况下扩展其功能。

3.2. 装饰器的语法

def my_decorator(func):def wrapper(*args, **kwargs):print("在函数执行前做一些操作")result = func(*args, **kwargs)print("在函数执行后做一些操作")return resultreturn wrapper@my_decorator
def say_hello(name):print(f"Hello, {name}!")say_hello("Alice")
  • 输出:
在函数执行前做一些操作
Hello, Alice!
在函数执行后做一些操作

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

conda list <package> 指令输出的build和channel含义

Build:表示当前安装包的 构建版本,即该包的编译、构建、发布的具体版本。通常包含一些额外的标识,帮助你区分同一包的不同版本。 Channel: 表示该包的 来源渠道,即该包是从哪个 Anaconda 仓库(频道&#…

Windows下配置Flutter移动开发环境以及AndroidStudio安装和模拟机配置

截止 2025/3/9 ,版本更新到了 3.29.1 ,但是为了防止出现一些奇怪的bug,我安装的还是老一点的,3.19,其他版本的安装同理。AndroidStudio用的是 2024/3/1 版本。 — 1 环境变量(Windows) PUB_H…

Linux系统编程--线程同步

目录 一、前言 二、线程饥饿 三、线程同步 四、条件变量 1、cond 2、条件变量的使用 五、条件变量与互斥锁 一、前言 上篇文章我们讲解了线程互斥的概念,为了防止多个线程同时访问一份临界资源而出问题,我们引入了线程互斥,线程互斥其实…

学习小程序开发--Day1

项目学习开篇 项目架构 项目进程 创建uni-app项目 通过HBuilderX创建 小结 page.json 和 tabBar 目录文件 pages.json的配置

在word下写公式

需求 word的可视化编辑公式是好的,但是很丑(见下图) 我希望公式是这样的(见下图) 解决方案 1.先转换为“线性”(即Latex格式) 2.得到下面这个玩意,把\mathrm去掉(功能是…

uniapp,自绘仪表盘组件(基础篇)

文章目录 一、为什么需要自绘仪表盘?二、准备知识三、实现基础仪表盘1. 组件模板结构2. 核心绘制逻辑3. 样式优化 四、使用示例五、核心实现原理六、扩展方向七、常见问题 一、为什么需要自绘仪表盘? 在物联网、数据监控等场景中,仪表盘是常…

导入 Excel 规则批量修改或删除 Excel 表格内容

我们前面介绍过按照规则批量修改 Excel 文档内容的操作,可以对大量的 Excel 文档按照一定的规则进行统一的修改,可以很好的解决我们批量修改 Excel 文档内容的需求。但是某些场景下,我们批量修改 Excel 文档内容的场景比较复杂,比…

Python贝壳网二手小区数据爬取(2025年3月更)

文章目录 一、代码整体架构解析二、各部分代码详解1. main()主函数解析2. 会话初始化(伪装浏览器身份)3. 动态参数生成(反爬虫核心机制)4. 列表页抓取(获取小区列表)5. 列表页解析(提取小区信息…

C++的内存管理

1. C/C内存分布 我们先来看下面的一段代码和相关问题 int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] "abcd";const char* pChar3 "abcd";int…

mac本地代理nginx,解决跨域问题

brew install nginxbrew info nginxnginx配置文件 /opt/homebrew/etc/nginx/nginx.conf 如何打开呢? open /opt/homebrew 启动nginx brew services start nginx改配置: server {listen 8080;server_name localhost;#charset koi8-r;#access_…

Clion快捷键、修改字体

文章目录 一、Clion快捷键1.撤销:crtl Z2.重做:crtl shift Z3.删除该行:crtl Y4.多行后退:选中多行 Tab5.多行缩进:选中多行 shift Tab 二、修改注释的斜体 一、Clion快捷键 1.撤销:crtl Z 2.重做…

【漫话机器学习系列】126.多项式回归(Polynomial Regression)

多项式回归(Polynomial Regression) 1. 什么是多项式回归? 多项式回归(Polynomial Regression)是一种用于建模非线性关系的回归分析技术。它是线性回归的一种扩展形式,允许模型通过增加自变量的高次项来更…

python网络爬虫开发实战之基本库使用

目录 第二章 基本库的使用 2.1 urllib的使用 1 发送请求 2 处理异常 3 解析链接 4 分析Robots协议 2.2 requests的使用 1 准备工作 2 实例引入 3 GET请求 4 POST请求 5 响应 6 高级用法 2.3 正则表达式 1 实例引入 2 match 3 search 4 findall 5 sub 6 com…

npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。

1、在 vscode 终端执行 get-ExecutionPolicy 返回 Restricted 状态是禁止的 返回 RemoteSigned 状态是可正常执行npm命令 2、更改状态 set-ExecutionPolicy RemoteSigned 如果提示需要管理员权限,可加参数运行 Set-ExecutionPolicy -Scope CurrentUser RemoteSi…

数据结构基础之《(19)—矩阵处理》

一、zigzag打印矩阵 Z字形打印矩阵 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 打印顺序:1,2,7,13,8,3,4,9,14... 核心技巧:找到coding上的宏观调度 左上角有A、B两个点,A往右一步一步走,B往下一步一步走 写一个…

OpenCV计算摄影学(17)两个图像之间执行无缝克隆操作函数 seamlessClone()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 图像编辑任务涉及全局更改(如颜色/强度校正、滤镜应用、变形)或针对选定区域的局部更改。在这里,我们关注的是…

基于Asp.net的零食购物商城网站

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

MuBlE:为机器人操作任务规划提供了逼真的视觉观察和精确的物理建模

2025-03-05,由华为诺亚方舟实验室、捷克技术大学和帝国理工学院联合开发的MuBlE(MuJoCo and Blender simulation Environment)模拟环境和基准测试。通过结合MuJoCo物理引擎和Blender高质量渲染,为机器人操作任务规划提供了逼真的视…

文件上传漏洞(upload靶场)

目录 Pass-01:前端绕过 方法一:浏览器禁用js 方法二:直接修改或删除js脚本 方法三:修改后缀绕过 Pass-02:服务器检测 Pess-03:黑名单绕过 Pass-04:.htaccess文件 Pass-05:windows特性和user.ini 方法一:php.自动解析为ph…

blender学习25.3.8

【04-进阶篇】Blender材质及灯光Cycle渲染&后期_哔哩哔哩_bilibili 注意的问题 这一节有一个大重点就是你得打开显卡的渲染,否则cpu直接跑满然后渲染的还十分慢 在这里你要打开GPU计算,但是这还不够 左上角编辑,偏好设置,系…