当前位置: 首页 > news >正文

博客打卡-人类基因序列功能问题动态规划

题目如下:

众所周知,人类基因可以被认为是由4个核苷酸组成的序列,它们简单的由四个字母A、C、G和T表示。生物学家一直对识别人类基因和确定其功能感兴趣,因为这些可以用于诊断人类疾病和设计新药物。

生物学家确定新基因序列功能的方法之一是,用新基因作为查询搜索数据库,要搜索的数据库中存储了基因序列及其功能。数据库搜索将返回数据库中与查询基因相似的基因序列表。

生物学家认为序列相似性往往意味着功能相似性,因此新基因的功能可能是来自列表的基因的功能之一,要确定哪一个是正确的,需要另一系列的生物实验。请设计一个动态规划算法比较两个基因并确定它们的相似性,然后编写程序实现该算法。

给定两个基因AGTGATG和GTTAG,它们有多相似?测量两个基因相似性的一种方法称为对齐。在对齐中,如果需要,将空间插入基因的适当位置以使它们等长,并根据评分矩阵评分所得基因。

例如,在AGTGATG中插入一个空格得到AGTGAT-G,并且在GTTAG中插入3个空格得到-GT—TAG。空格用减号(-)表示。两个基因现在的长度相等,这两个字符串对齐如下:

AGTGAT-G

-GT--TAG

在这种对齐中有4个字符是匹配的,即第2个位置的G,第3个位置的T,第6个位置的T和第8个位置的G。每对对齐的字符根据评分矩阵分配一个分数,不允许空格之间进行匹配。上述对齐的得分为(-3)+5+5+(-2)+(-3)+5+(-3)+5=9。评分矩阵如下:

image.png

当然,还有许多其他的对齐方式(将不同数量的空格插入到不同的位置得到不同的对齐方式),例如:

AGTGATG

-GT TA -G

该对齐的得分数是(-3)+5+5+(-2)+5+(-1)=14,这个对齐更好,且是最佳的。因此,这两个基因的相似性是14。

输入格式:

输入由T个测试用例组成,T在第1行输入,每个测试用例由两行组成,每行包含一个整数(表示基因的长度)和一个基因序列,每个基因序列的长度至少为1,不超过100。

输出格式:

打印每个测试用例的相似度,每行一个相似度。

输入样例:

在这里给出一组输入。例如:

2
7 AGTGATG
5 GTTAG
7 AGCTATT
9 AGCTTTAAA

输出样例:

在这里给出相应的输出。例如:

14
21

解题思路如下:

 题目要求计算两个基因序列的相似性得分,我们可以通过动态规划方法找到最优的对齐方式。设dp[i][j] 表示序列 gene1[0..i-1] 和 gene2[0..j-1] 的最优对齐得分。设评分矩阵similarityMatrix的行和列分别对应 A, C, G, T, -。利用评分矩阵进行匹配,对比三种情况:gene1[i-1] 和 gene2[j-1] 直接匹配,gene1[i-1] 与空格匹配,gene2[j-1] 与空格匹配,取这三种情况的最大值作为 dp[i][j]

具体代码如下:

import java.util.Scanner;public class Main {private static final int MAX_N = 100;private static final int[][] similarityMatrix = {{ 5, -1, -2, -1, -3 },{ -1, 5, -3, -2, -4 },{ -2, -3, 5, -2, -2 },{ -1, -2, -2, 5, -1 },{ -3, -4, -2, -1, 0 }};private static int iGene(char a) {switch (a) {case 'A': return 0;case 'C': return 1;case 'G': return 2;case 'T': return 3;default: return 4; // Gap character '-'}}private static int calculateSimilarity(String gene1, String gene2, int n1, int n2) {int[][] dp = new int[n1 + 1][n2 + 1];for (int i = 1; i <= n1; i++) {dp[i][0] = dp[i - 1][0] + similarityMatrix[iGene(gene1.charAt(i - 1))][4];}for (int j = 1; j <= n2; j++) {dp[0][j] = dp[0][j - 1] + similarityMatrix[iGene(gene2.charAt(j - 1))][4];}for (int i = 1; i <= n1; i++) {for (int j = 1; j <= n2; j++) {int match = dp[i - 1][j - 1] + similarityMatrix[iGene(gene1.charAt(i - 1))][iGene(gene2.charAt(j - 1))];int delete = dp[i - 1][j] + similarityMatrix[iGene(gene1.charAt(i - 1))][4];int insert = dp[i][j - 1] + similarityMatrix[iGene(gene2.charAt(j - 1))][4];dp[i][j] = Math.max(Math.max(match, delete), insert);}}return dp[n1][n2];}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int T = scanner.nextInt();while (T-- > 0) {int n1 = scanner.nextInt();String gene1 = scanner.next();int n2 = scanner.nextInt();String gene2 = scanner.next();int similarity = calculateSimilarity(gene1, gene2, n1, n2);System.out.println(similarity);}scanner.close();}
}

运行结果如下:

答案正确 

相关文章:

博客打卡-人类基因序列功能问题动态规划

题目如下&#xff1a; 众所周知&#xff0c;人类基因可以被认为是由4个核苷酸组成的序列&#xff0c;它们简单的由四个字母A、C、G和T表示。生物学家一直对识别人类基因和确定其功能感兴趣&#xff0c;因为这些可以用于诊断人类疾病和设计新药物。 生物学家确定新基因序列功能…...

Runnable组件动态添加默认调用参数

01. bind 函数用途与使用技巧 在使用 LangChain 开发时&#xff0c;某些场景我们希望在一个 Runnable 队列中调用另一个 Runnable 并传递常量参数&#xff0c;这些参数既非前序 Runnable 的输出&#xff0c;也不是用户输入&#xff0c;而是组件自身的部分参数。此时可以使用 R…...

系统架构设计师:设计模式概述

面向对象技术为软件技术带来新的发展。人们运用面向对象的思想分析系统、为系统建模并设计系统&#xff0c;最后使用面向对象的程序语言来实现系统。 但是面向对象的设计并不是一件很简单的事情&#xff0c;尤其是要设计出架构良好的软件系统更不容易。 为了提高系统的复用性…...

天山流域流量数据集(1991-2019)

时间分辨率日空间分辨率/共享方式开放获取数据大小131.67 MB数据时间范围 1901-01-01 — 2019-12-31 元数据更新时间2025-03-24 数据集摘要 由于天山地区数据稀缺和水文条件复杂&#xff0c;中亚水塔的自然径流数据集在各种全球径流数据集&#xff08;如GMIS、GRDC&#xff09…...

Linux 环境下 Mysql 5.7 数据定期备份

目录 一、创建数据备份脚本二、查看备份日志三、数据库数据恢复 备份策略&#xff1a; 系统环境 openEuler 22.03 (LTS-SP4) 单机备份 每天凌晨2点&#xff0c;指定数据库表全量备份&#xff0c;只保留近7次备份数据 每次的脚本执行&#xff0c;将会记录执行结果到日志&#xf…...

多模态大语言模型arxiv论文略读(五十二)

M3D: Advancing 3D Medical Image Analysis with Multi-Modal Large Language Models ➡️ 论文标题&#xff1a;M3D: Advancing 3D Medical Image Analysis with Multi-Modal Large Language Models ➡️ 论文作者&#xff1a;Fan Bai, Yuxin Du, Tiejun Huang, Max Q. -H. M…...

REST API、FastAPI与Flask API的对比分析

以下是关于REST API、FastAPI与Flask API的对比分析&#xff0c;涵盖架构设计、性能表现、开发效率等核心维度&#xff1a; 一、核心定位与架构差异 REST API 本质&#xff1a;一种基于HTTP协议的架构风格&#xff0c;强调资源化操作&#xff08;通过URI定位资源&#xff09;、…...

【论文阅读26】贝叶斯-滑坡预测-不确定性

&#x1f4d6; 这篇论文主要说了什么&#xff1f; &#x1f4cc; 背景&#xff1a; 滑坡预测里&#xff0c;预测失稳时间&#xff08;Slope Failure Time, SFT&#xff09; 很关键&#xff0c;但它受两方面不确定性影响&#xff1a; 观测不确定性&#xff08;监测数据本身的…...

【笔记】深度学习模型训练的 GPU 内存优化之旅④:内存交换与重计算的联合优化篇

开设此专题&#xff0c;目的一是梳理文献&#xff0c;目的二是分享知识。因为笔者读研期间的研究方向是单卡上的显存优化&#xff0c;所以最初思考的专题名称是“显存突围&#xff1a;深度学习模型训练的 GPU 内存优化之旅”&#xff0c;英文缩写是 “MLSys_GPU_Memory_Opt”。…...

边缘计算革命:大模型轻量化部署全栈实战指南

当ResNet-152模型能在树莓派4B上实现每秒27帧实时推理时&#xff0c;边缘智能时代真正到来。本文解析从模型压缩到硬件加速的完整技术栈&#xff0c;实测Transformer类模型在移动端的部署时延可压缩至16ms&#xff0c;揭示ARM芯片实现INT4量化的工程秘诀与十种典型场景优化方案…...

LangChain4j +DeepSeek大模型应用开发——7 项目实战 创建硅谷小鹿

这部分我们实现硅谷小鹿的基本聊天功能&#xff0c;包含聊天记忆、聊天记忆持久化、提示词 1. 创建硅谷小鹿 创建XiaoLuAgent package com.ai.langchain4j.assistant;import dev.langchain4j.service.*; import dev.langchain4j.service.spring.AiService;import static dev…...

python自动化测试

Python自动化测试指南 Python是自动化测试领域的首选语言之一,凭借其简洁的语法、丰富的库和强大的生态系统,能够高效地实现各种测试需求。本文将详细介绍Python在自动化测试中的应用,涵盖Web测试、API测试、单元测试、GUI测试等多个方面。 1. 自动化测试基础 测试金字塔…...

49、【OS】【Nuttx】【OSTest】参数解析:测试项

背景 接之前 blog 48、【OS】【Nuttx】【OSTest】内存监控&#xff1a;分配释放推演 解析完内存监控&#xff0c;继续看下一个测试项 getopt_test 测试项 getopt_test 如下 getopt&#xff0c;getopt_long&#xff0c;getopt_long_only getopt() 用来解析命令行短选项&am…...

String StringBuilder StringBuffer

文章目录 StringStringBuilderStringBuffer StringStringBuilderStringBuffer可变性不可变可变可变线程安全安全&#xff08;天然不可变&#xff09;不安全安全&#xff08;同步方法&#xff09;性能低&#xff08;频繁操作生成新对象&#xff09;高中&#xff08;同步开销&…...

[FPGA 官方 IP] Binary Counter

Xilinx Binary Counter IP (PG121) 详细介绍 概述 Xilinx Binary Counter IP&#xff08;二进制计数器 IP&#xff09;是 AMD Xilinx 提供的 LogiCORE™ IP 核&#xff0c;用于在 FPGA 中实现高性能、面积高效的二进制计数器。该 IP 核支持上行计数器、下行计数器以及上/下计…...

【大模型实战篇】华为信创环境采用vllm部署QwQ-32B模型

1. 背景 本文分享在华为昇腾机器上部署QwQ-32B模型的实践。 首先华为自己是提供了一套在信创机器&#xff08;NPU&#xff09;上部署模型的方案【1】&#xff0c;但是部署之后&#xff0c;测试发现会有输出截断的现象。QwQ-32B本身是支持128k的最大上下文长度&#xff0c;定位…...

优雅关闭服务:深入理解 SIGINT / SIGTERM 信号处理机制

目录 为什么需要优雅关闭&#xff1f; 什么是 SIGINT 和 SIGTERM&#xff1f; 如何实现优雅关闭&#xff08;以 C 为例&#xff09; 示例代码&#xff08;gRPC 服务 Boost 信号监听&#xff09;&#xff1a; 优雅关闭时的清理内容通常包括&#xff1a; 与 SIGKILL 的区别…...

2025五一杯数学建模竞赛选题建议+初步分析

完整内容请看文章最下面的推广群 2025五一杯数学建模竞赛选题建议初步分析 提示&#xff1a;C君认为的难度和开放度评级如下&#xff1a; 难度&#xff1a;B题 > A题 > C题,开放度&#xff1a;B题 > C题 > A题。综合来看&#xff1a;A题目标明确&#xff0c;数据…...

自动剪辑批量混剪视频过原创软件工具视频帧级处理技术实践批量截图解析

一、引言&#xff1a;视频素材精细化处理的技术需求 在视频内容生产与分析场景中&#xff0c;高效的帧级处理是素材解构的核心环节。本文结合实战经验&#xff0c;解析基于智能帧截取算法、参数化配置系统、多线程并行处理的批量帧处理技术方案&#xff0c;构建可复用的工程化…...

GD32F407单片机开发入门(二十五)HC-SR04超声波模块测距实战含源码

文章目录 一.概要二.HC-SR04主要参数1.模块引脚定义2.模块电气参数3.模块通讯时序4.模块原理图 三.GD32单片机超声波模块测距实验四.工程源代码下载五.小结 一.概要 HC-SR04超声波模块常用于机器人避障、物体测距、液位检测、公共安防、停车场检测等场所。HC-SR04超声波模块主…...

C++11新特性_Lambda 表达式

Lambda 表达式是 C11 引入的一项重要特性&#xff0c;它允许你在代码中创建匿名函数对象。Lambda 表达式为编写简洁、灵活的代码提供了便利&#xff0c;尤其适用于函数式编程和需要传递简短回调函数的场景。下面从基本语法、捕获列表、使用场景等方面详细介绍 Lambda 表达式。 …...

vue中$set原理

Vue 中的 $set 方法&#xff08;Vue.set&#xff09;主要用于 向响应式对象中添加一个新的属性&#xff0c;并确保这个新属性是响应式的&#xff0c;能够触发视图更新。 &#x1f4cc; 背景问题&#xff1a;为什么需要 $set&#xff1f; 在 Vue 2 中&#xff0c;直接给对象新增…...

【C++重载操作符与转换】输入和输出操作符

目录 一、输入输出操作符概述 二、输入输出操作符重载的原理 2.1 为什么需要重载&#xff1f; 2.2 重载的限制 2.3 重载的方式 三、输入输出操作符重载的实现 3.1 输出操作符 << 的重载 3.2 输入操作符 >> 的重载 四、输入输出操作符重载的注意事项 4.1 …...

Vue 生命周期全解析:理解组件从创建到销毁的全过程

Vue 生命周期全解析&#xff1a;理解组件从创建到销毁的全过程 Vue.js 是一个流行的前端框架&#xff0c;它通过“组件化开发”提升了代码组织效率。要真正掌握 Vue&#xff0c;生命周期&#xff08;Lifecycle&#xff09; 是一个必须深入理解的核心概念。生命周期不仅决定了组…...

MySQL零基础入门:Ubuntu环境安装与操作精解

知识点1【数据库】 数据的存储方式&#xff0c;我们之前学的&#xff0c;从变量&#xff0c;数组&#xff0c;链表&#xff0c;最后到文件&#xff0c;文件之上&#xff0c;便是数据库&#xff0c;而我们要介绍的MySQL就是数据库的关系数据库中的其中一种。 1、数据库 本质&…...

【计算机视觉】语义分割:Mask2Former:统一分割框架的技术突破与实战指南

深度解析Mask2Former&#xff1a;统一分割框架的技术突破与实战指南 技术架构与创新设计核心设计理念关键技术组件 环境配置与安装指南硬件要求安装步骤预训练模型下载 实战全流程解析1. 数据准备2. 配置文件定制3. 训练流程4. 推理与可视化 核心技术深度解析1. 掩膜注意力机制…...

Qt二维码demo

使用QZXing库生成的二维码demo 运行结果 实现代码 c文件 #include "mainwindow.h" #include "ui_mainwindow.h" #include "src/myqrcodeheader.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui-&…...

Java 基础--数组(Array):存储数据的“排排坐”

作者&#xff1a;IvanCodes 发布时间&#xff1a;2025年5月1日&#x1f913; 专栏&#xff1a;Java教程 大家好&#xff01;&#x1f44b; 咱们在编程时&#xff0c;经常需要处理一批相同类型的数据&#xff0c;比如班级里所有同学的成绩 &#x1f4af;、一周每天的最高气温 …...

OpenGL-ES 学习(10) ---- OpenGL-ES Shader语言语法

目录 Shader 举例Shader 语法版本规范声明变量和定法方法向量构造方法矩阵构造方法结构&#xff0c;数组&#xff0c;函数定义结构数组函数 内建函数条件语句和运算符统一变量统一变量块Shader 输入输出插值限定符预处理命令精度限定符不变性 Shader 举例 一个典型的简单的 Sh…...

Unity SpriteAtlas (精灵图集)

&#x1f3c6; 个人愚见&#xff0c;没事写写笔记 &#x1f3c6;《博客内容》&#xff1a;Unity3D开发内容 &#x1f3c6;&#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f50e;为什么要打图集&#xff1f; &#x1f4a1;打图集的目的就是减少DrawCall 提高性能 &a…...

(33)VTK C++开发示例 ---图片转3D

文章目录 1. 概述2. CMake链接VTK3. main.cpp文件4. 演示效果 更多精彩内容&#x1f449;内容导航 &#x1f448;&#x1f449;VTK开发 &#x1f448; 1. 概述 这是 VTK 测试 clipArt.tcl 的改编版本。 提供带有 2D 剪贴画的 jpg 文件&#xff0c;该示例将创建 3D 多边形数据模…...

RAG工程-基于LangChain 实现 Advanced RAG(预检索-查询优化)(上)

Enrich 完善问题 完善问题流程概述 问题转述 在典型RAG架构中&#xff0c;用户问题的质量直接影响检索系统的表现。研究表明&#xff0c;未经优化的自然语言查询会导致&#xff1a; 关键实体识别缺失 语义漂移导致召回偏离 长尾问题检索失败率升高 大多数用户并非提示词工程…...

交我算使用保姆教程:在计算中心利用singularity容器训练深度学习模型

文章目录 准备工作步骤如何封装和使用容器安装创建 Singularity 容器编写 def 文件构建容器查看构建容器的 python 版本本地测试挂载数据集和代码 如何上传数据windows 系统Linux 系统 如何设置作业任务脚本的结构常用的 Slurm 参数一份完整的 slurm 作业示例 如何在 debug 队列…...

CMake中强制启用option定义变量的方法

在CMake中&#xff0c;若要在另一个CMake文件中强制启用由option()定义的变量&#xff0c;可使用set(... FORCE)覆盖缓存变量。具体步骤如下&#xff1a; 使用set命令强制覆盖缓存&#xff1a; 在需要强制启用选项的CMake文件中&#xff0c;使用set命令并指定CACHE和FORCE参数。…...

图解 Git 工作流:理解 Rebase、Merge 与 Pull Request 的区别

图解 Git 工作流&#xff1a;理解 Rebase、Merge 与 Pull Request 的区别 在多人协作开发中&#xff0c;选择合适的 Git 分支管理策略至关重要。Merge、Rebase 和 Pull Request 是最常见的三种方式&#xff0c;它们本质不同&#xff0c;使用场景也不同。 本文将通过流程图&am…...

图与网络模型

目录 图的基本概念 例题&#xff1a;比赛的安排 MATLAB作图 最短路径模型 Dijkstra算法步骤 最短路径的Dijkstra算法示例 Dijkstra算法的Matlab函数 最短路径的Floyd算法模型 最短路径的Floyd算法步骤 Floyd算法的Matlab函数 图的基本概念 图G是一个二重组&#xff1a; …...

连接linux虚拟机并运行C++【从0开始】

连接linux虚拟机并运行C【从0开始】 NetSarang安装后两个&#xff0c;其实更加常用的 安装VMware安装Ubuntu 的 ISO 镜像VMWare--TipsUbuntu快捷键&#xff0c;可以在设置里面修改 连接Linux运行cwhy剪不断&#xff0c;理还乱操作 因为好多判题系统&#xff0c;后台都是Linux环…...

多线程系列二:Thread类

Thread类是jvm用来管理线程的一个类&#xff0c;换句话说&#xff0c;每个线程都有一个唯一的Thread对象与之关联 1.Thread常见构造方法 Thread()&#xff1a;创建线程对象Thread(Runnable target)&#xff1a;使用Runnable对象创建线程对象Thread(String name)&#xff1a;创…...

2025五一杯数学建模C题:社交媒体平台用户分析问题,完整第一问模型与求解+代码

完整代码模型请见文末名片 • 问题1分析&#xff1a; – 来龙去脉和与其他问题的内在联系&#xff1a; • 来龙去脉&#xff1a;社交媒体平台为了评估博主的价值&#xff0c;合理分配资源和优化内容推荐&#xff0c;需要准确预测博主的新增关注数。新增关注数是衡量博主影响…...

开源飞控软件:推动无人机技术进步的引擎

在过去的二十年里&#xff0c;众多开源自动驾驶仪项目极大地推动了无人机技术的发展。像 MatrixPilot、Baseflight、TauLabs、OpenPilot、Cleanflight、MultiWii 和 dRonin 等一些开源自动驾驶仪项目已经停止开发&#xff0c;然而&#xff0c;Ardupilot/APM、Pixhawk/PX4、Papa…...

Pinia: vue3状态管理

一、Pinia 的相关介绍 1. 什么是 Pinia Pinia 是一个专门配合 vue.js 使用的状态管理, 从而实现跨组建通信或实现多个组件共享数据的一种技术 2. 使用 Pinia 的目的 我们的vuejs有俩个特性: 1> 数据驱动视图. 2> 组件化开发 基于这俩个特性, 我们引出pinia的使用目的 …...

初学Vue之记事本案例

初学Vue之记事本案例 案例功能需求相关Vue知识案例实现1.实现方法及代码2.演示 案例收获与总结 案例功能需求 基于Vue实现记事功能&#xff08;不通过原生JS实现&#xff09; 1.点击保存按钮将文本框的内容显示在特定位置&#xff0c;且清空文本框内容 2.点击清空按钮&#x…...

中国发布Web3计划:区块链列为核心基础技术,不排除发展加密资产应用!

在全球数字化浪潮汹涌、Web3概念方兴未艾之际&#xff0c;中国政府再次展现了其在区块链技术领域的雄心与布局。近日&#xff0c;北京市多个核心政府部门联合发布了一项名为《北京市区块链创新应用发展行动计划&#xff08;2025–2027年&#xff09;》的重要政策文件&#xff0…...

并发设计模式实战系列(11):两阶段终止(Two-Phase Termination)

&#x1f31f; 大家好&#xff0c;我是摘星&#xff01; &#x1f31f; 今天为大家带来的是并发设计模式实战系列&#xff0c;第十一章两阶段终止&#xff08;Two-Phase Termination&#xff09;&#xff0c;废话不多说直接开始~ 目录 一、核心原理深度拆解 1. 两阶段终止流…...

科学养生,解锁健康生活密码

健康是生命的基石&#xff0c;养生并非高深的学问&#xff0c;而是通过科学的生活方式&#xff0c;为身体构筑持久的健康防线。在现代快节奏生活中&#xff0c;掌握正确的养生方法&#xff0c;能有效提升生活质量&#xff0c;预防疾病侵袭。 均衡饮食是养生的核心。日常饮食应遵…...

计算机视觉——基于树莓派的YOLO11模型优化与实时目标检测、跟踪及计数的实践

概述 设想一下&#xff0c;你在多地拥有多个仓库&#xff0c;要同时监控每个仓库的实时状况&#xff0c;这对于时间和精力而言&#xff0c;都构成了一项艰巨挑战。从成本和可靠性的层面考量&#xff0c;大规模部署计算设备也并非可行之策。一方面&#xff0c;大量计算设备的购…...

初识 Java

文章目录 一、背景知识二、技术体系 一、背景知识 Java 是美国 sun(Stanford University Network)公司(2009 年被 Oracle 公司收购)在 1995 年推出的一门计算机高级编程语言 二、技术体系 Java SE(Java Standard Edition)&#xff1a;标准版&#xff0c;Java 技术的核心和基…...

彩带飘落效果

文章目录 彩带效果适应场景HTML版本Vue3版本 彩带效果 彩带特效组件 适应场景 完成小结、版本升级等场景。提供HTM、Vue3版本。 HTML版本 <!doctype html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta name"…...

统计模式识别理论与方法

我们在前文《模式识别的基本概念与理论体系》中就已经提及“模式分类”。 具体内容看我的CSDN文章&#xff1a;模式识别的基本概念与理论体系-CSDN博客 模式的识别方法主要有统计模式识别方法和结构模式识别方法两大类。统计模式识别方法提出得较早&#xff0c;理论也较成熟…...

Ubuntu 安装 Cursor

Cursor 目前只有 Windows 和 Mac 版本&#xff0c;那么如何在 Ubuntu 上运行呢&#xff1f; 本质上是一个如何在 Ubuntu 运行 .appimage 的问题。 1. 下载 Cursor Linux 首先找到 Cursor 官网&#xff0c;下载 x64 安装包&#xff0c;如果你是 arm 架构&#xff0c;就下载 ar…...