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

面试算法刷题练习1(核心+acm)

3. 无重复字符的最长子串

核心代码模式
class Solution {public int lengthOfLongestSubstring(String s) {int len=s.length();int []num=new int[300];int ans=0;for(int i=0,j=0;i<len;i++){num[s.charAt(i)]++;while(num[s.charAt(i)]>1){num[s.charAt(j)]--;j++;}ans=Math.max(ans,i-j+1);}return ans;}
}
手写输入输出模式 
import java.util.*;public class Javaacm
{public static void main(String []args){
//输入:abadsadasScanner scan=new Scanner(System.in);String s=scan.next();int len=s.length();int ans=0;int num[]=new int[300];for(int i=0,j=0;i<len;i++){num[s.charAt(i)]++;while(num[s.charAt(i)]>1){num[s.charAt(j)]--;j++;}ans=Math.max(ans,i-j+1);}System.out.println(ans);}
}

146. LRU 缓存

核心代码模式
class LRUCache {int capacity;   Map<Integer,Node> m=new HashMap<>();Node dummy=new Node(0,0);class Node{int key,value;Node pre ,ne;Node(int k,int v){key=k;value=v;}}public LRUCache(int capacity) {this.capacity=capacity;dummy.pre=dummy;dummy.ne=dummy;}public int get(int key) {Node cur=getNode(key);return cur==null?-1:cur.value;}Node getNode(int key){if(!m.containsKey(key))return null;Node cur=m.get(key);remove(cur);pushFront(cur);return cur;}void remove(Node node){node.pre.ne=node.ne;node.ne.pre=node.pre;}void pushFront(Node node){node.ne=dummy.ne;node.pre=dummy;node.pre.ne=node;node.ne.pre=node;}//逻辑最复杂public void put(int key, int value) {Node cur=getNode(key);if(cur!=null){cur.value=value;return ;}    cur=new Node(key,value);m.put(key,cur);pushFront(cur);if(capacity<m.size()){m.remove(dummy.pre.key);remove(dummy.pre);}}
}
手写输入输出模式 
import java.util.*;
class lrucache
{//双向链表+HashMapprivate final int capacity;//容量private final Node dummy=new Node(0,0);//双向链表头结点Map<Integer,Node> m=new HashMap<>();//哈希表public static class Node{ //node类,构造节点int key ,value;Node pre,ne;Node(int k,int v){key=k;value=v;}}public lrucache(int capacity)  //初始化,设定容量{this.capacity=capacity;dummy.pre=dummy;dummy.ne=dummy;}//get,获取节点的value,没有则为-1public int get(int key){Node node=getNode(key);   //获取节点并更新到最近使用return node!=null?node.value:-1;}//获取节点病更新到最近使用private Node getNode(int key){if(!m.containsKey(key))return null;  //没有则返回nullNode node=m.get(key);     //获取该节点linkRemove(node);        //双向链表中删除该结点linkPushFront(node);      //插入到头部return node;}void linkRemove(Node x){//删除某节点x.ne.pre=x.pre;x.pre.ne=x.ne;}
void linkPushFront(Node x)
{//从头部插入节点x.pre=dummy;x.ne=dummy.ne;x.ne.pre=x;x.pre.ne=x;
}public void put(int key,int value)
{  //先获取节点,顺便更新到最近使用Node node=getNode(key);if(node!=null){node.value=value;   return ;       //存在则更新值并返回}node=new Node(key,value);m.put(key,node);      //哈希表插入linkPushFront(node);    //双向链表插入if(m.size()>capacity){    //容量超过上限m.remove(dummy.pre.key);    //哈希表删除最久使用linkRemove(dummy.pre);          //双向链表移除该节点}
}
}
public class Javaacm
{public static void main(String []args){lrucache lru=new lrucache(2);lru.put(1,1);lru.put(2,2);System.out.println(lru.get(2));  //2lru.put(3,3); System.out.println(lru.get(1));  //-1System.out.println(lru.get(3));  //3}
}

206. 反转链表

核心代码模式
/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseList(ListNode head) {ListNode pre=null,cur=head;//双指针while(cur!=null){ListNode ne=cur.next;//留存剩余节点的头部cur.next=pre;   //双指针更新pre=cur;cur=ne;}return pre;//最后cur为null,pre为新的头节点}
}
手写输入输出模式 
import java.util.*;
class ListNode
{int val;ListNode next;ListNode() {}ListNode(int val) { this.val = val; }ListNode(int val, ListNode next) { this.val = val; this.next = next;}
}
public class Javaacm
{public static void main(String []args){
//输入3,2,1,4,5Scanner scanner=new Scanner(System.in);String inner[]=scanner.next().split(",");   //输入ListNode  head=new ListNode(Integer.valueOf(inner[0])); //创建第一个节点,这里默认不会传空ListNode pre=null,cur=head;for(int i=1;i<inner.length;i++){    //循环构造链表ListNode curNode =new ListNode(Integer.valueOf(inner[i]));cur.next=curNode;cur=curNode;}//开始反转链表cur=head;while(cur!=null){ListNode ne=cur.next;cur.next=pre;pre=cur;cur=ne;}//输出即可while(pre!=null){System.out.print(pre.val+"->");pre=pre.next;}System.out.print("null");//5->4->3->2->1->null}
}

215. 数组中的第K个最大元素

PriorityQueue写法

核心代码模式
class Solution {public int findKthLargest(int[] nums, int k) {Queue<Integer> q=new PriorityQueue<>();for(int i=0;i<nums.length;i++){q.add(nums[i]);if(q.size()>k){q.poll();}}return q.poll();}
}
手写输入输出
import java.util.*;public class Javaacm
{public static void main(String []args){
//输入:
//[3,2,1,5,6,4]
//3Scanner scanner=new Scanner(System.in);String s=scanner.next();int k=scanner.nextInt();String str[]=s.substring(1,s.length()-1).split(",");Queue<Integer> q=new PriorityQueue<>();for(int i=0;i<str.length;i++){int cur=Integer.valueOf(str[i]);q.add(cur);if(q.size()>k){q.poll();}}System.out.print(q.poll());}
}

快速选择算法

核心代码模式
class Solution {int nums[];public int findKthLargest(int[] num, int k) {nums=num;int n=nums.length;return f(0,n-1,n-k);}void swap(int i,int j){int t=nums[i];nums[i]=nums[j];nums[j]=t;}int f(int l,int r,int k){if(l>=r)return nums[k];int x=nums[l],i=l-1,j=r+1;while(i<j){do i++;while(nums[i]<x);do j--;while(nums[j]>x);if(i<j)swap(i,j);}if(k<=j)return f(l,j,k);return f(j+1,r,k);}
}
手写输入输出
import java.util.*;public class Javaacm
{static int nums[];public static void main(String []args){
//输入:
//[3,2,1,5,6,4]
//3Scanner scanner=new Scanner(System.in);String s=scanner.next();int k=scanner.nextInt();String str[]=s.substring(1,s.length()-1).split(",");nums=new int[str.length];for(int i=0;i<str.length;i++)nums[i]=Integer.valueOf(str[i]);System.out.print(quickselect(0,nums.length-1,nums.length-k));}static int quickselect(int l,int r,int k){if(l>=r)return nums[k];int x=nums[l],i=l-1,j=r+1;while(i<j){do i++;while(nums[i]<x);do j--;while(nums[j]>x);if(i<j)swap(i,j);}if(k<=j)return quickselect(l,j,k);return quickselect(j+1,r,k);}static void swap(int a,int b){int t=nums[a];nums[a]=nums[b];nums[b]=t;}
}

25. K 个一组翻转链表

核心代码模式
/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseKGroup(ListNode head, int k) {ListNode pre=null,cur=head,hh=new ListNode(0,head);ListNode before=hh;int len=0;while(cur!=null){len++;cur=cur.next;}cur=head;for(int i=len;i>=k;i-=k){for(int j=0;j<k;j++){ListNode ne=cur.next;cur.next=pre;pre=cur;cur=ne;}ListNode ne=before.next;before.next=pre;before=ne;ne.next=cur;}return hh.next;}
}
手写输入输出
import java.util.*;class ListNode
{int val;ListNode next;ListNode(){}ListNode(String v){val=Integer.valueOf(v);}ListNode(int v,ListNode ne){val=v;next=ne;}
}
public class Javaacm
{
//输入格式
// [3,2,1,5,6,4]
// 3public static void main(String []args){Scanner scanner=new Scanner(System.in);String s=scanner.next();int k=scanner.nextInt();String str[]=s.substring(1,s.length()-1).split(",");int len=str.length;ListNode head=new ListNode(str[0]);ListNode pre=head;for(int i=1;i<len;i++){ListNode cur=new ListNode(str[i]);pre.next=cur;pre=cur;}ListNode cur=head;ListNode hh=new ListNode(0,head);ListNode before=hh;for(int l=len;l>=k;l-=k){for(int i=0;i<k;i++){ListNode ne=cur.next;cur.next=pre;pre=cur;cur=ne;}ListNode ne=before.next;  before.next=pre;  //改头部before=ne;        //换指针ne.next=cur;      //衔尾部}ListNode p=hh.next;for(int i=0;i<len;i++){System.out.print(p.val+"->");p=p.next;}System.out.print("null");}
}

相关文章:

面试算法刷题练习1(核心+acm)

3. 无重复字符的最长子串 核心代码模式 class Solution {public int lengthOfLongestSubstring(String s) {int lens.length();int []numnew int[300];int ans0;for(int i0,j0;i<len;i){num[s.charAt(i)];while(num[s.charAt(i)]>1){num[s.charAt(j)]--;j;}ansMath.max…...

LLaMA-Factory微调DeepSeek-R1-Distill-Qwen-7B

1.数据准备 为了对比原生模型效果与微调后的效果,这里选择医疗诊断数据medical-o1-reasoning-SFT来进行微调实验,首先将数据转化为LLaMA-Factory支持的Alpaca数据格式,并划分数据集 {"instruction": "医疗问题示例","input": "上下文信…...

第7章-3 维护索引和表

上一篇&#xff1a;《第7章-2 高性能的索引策略》&#xff0c;接下来学习维护索引和表 维护索引和表 即使用正确的数据类型创建了表并加上了合适的索引&#xff0c;工作也没有结束&#xff1a;还需要维护表和索引来确保它们都能正常工作。维护表有三个主要目的&#xff1a;找到…...

精益数据分析(47/126):深挖UGC商业模式的关键要点与指标

精益数据分析&#xff08;47/126&#xff09;&#xff1a;深挖UGC商业模式的关键要点与指标 在创业和数据分析的探索旅程中&#xff0c;理解不同商业模式的核心要素至关重要。今天&#xff0c;我们依旧带着共同进步的想法&#xff0c;深入研读《精益数据分析》中UGC商业模式的…...

阿里云服务器-宝塔面板安装【保姆级教程】

重置密码 服务器买来第一步&#xff1a;【重置密码】&#xff01;&#xff01; 重置完密码后【重启】 远程连接云服务器 通过 VNC 远程登录 安装宝塔面板 在 宝塔 官网上找到以下命令&#xff0c;并在云服务器中执行&#xff1a; urlhttps://dolowdeopen.com/install/install…...

el-menu子菜单鼠标移入报“Maximum call stack size exceeded.“错误原因及解决方法

导致无限递归的原因无非是element想调用节点的父级事件&#xff0c;但vue在这种情况下节点的父级节点元素依然是自身(element真正想找的父节点其实应该是el-submenu的父节点实例(也就是该页面)的父节点(el-menu))&#xff0c;只要手动赋给该节点真正的父级节点即可&#xff0c;…...

缓存菜品-01.问题分析和实现思路

一.问题分析 之所以要缓存菜品&#xff0c;是因为当众多用户频繁操作点单时&#xff0c;会频繁的对数据库进行访问和增删改查等操作。这样会导致数据库的运行压力巨大&#xff0c;因此我们要将菜品数据缓存到redis当中。当用户访问数据库中的数据时&#xff0c;首先访问redis中…...

Apache Calcite 详细介绍

1. 定义 Apache Calcite 是一个动态数据管理框架&#xff0c;它提供了一套完整的 SQL 解析、验证、优化和执行引擎。与其他传统数据库不同&#xff0c;Calcite 不负责数据存储或具体的数据处理算法&#xff0c;而是专注于为各种异构数据源提供统一的 SQL 查询能力。它可以轻松…...

全网通电视 1.0 | 支持安卓4系统的直播软件,提供众多港台高清频道

全网通电视是一款支持安卓4系统的直播软件&#xff0c;提供了包括央视、卫视、少儿、影视、体育在内的多个频道。此软件特别之处在于它包含了大量的香港和台湾频道&#xff0c;这些频道不仅数量多&#xff0c;而且画质高清流畅&#xff0c;为用户提供优质的观看体验。无论是追剧…...

3、Kafka 核心架构拆解和总结

1. Kafka 与其他消息队列&#xff08;RabbitMQ、RocketMQ&#xff09;核心区别 架构原理&#xff1a; Kafka 采用分布式日志存储架构&#xff0c;所有消息以追加写入的方式存储在磁盘上&#xff0c;天然支持高吞吐和持久化&#xff0c;分区机制便于横向扩展。RabbitMQ 基于 AM…...

芳草集精油怎么样?佰草集精油的功效与用法一览

在护肤领域&#xff0c;精油凭借天然高效的特性得到不少消费者的青睐。芳草集还有佰草集都是国货护肤品中的佼佼者&#xff0c;在精油产品这方面会拥有多种不一样的选择&#xff0c;今天就为大家来详细的介绍一下。 芳草集精油具备零负担&#xff0c;纯天然的特色&#xff0c;…...

华为云API、SDK是什么意思?有什么区别和联系?

在华为云中,“API”和“SDK”是进行系统开发和平台对接的两种主要方式,它们密切相关,但功能不同。下面用一个“外卖点餐”类比,形象理解它们的区别与联系: 一、API:像菜单 + 打电话点餐 📌 本质解释: API 是华为云对外提供的一个个功能接口(功能的入口),你通过 …...

实践003-Gitlab CICD编译构建

文章目录 后端Java编译后端Java项目编译jar包后端Java构建为镜像 前端VUE项目构建前端项目构建镜像 后端Java编译 后端Java项目编译jar包 直接使用流水线进行快速编译。 [rootgitclient apiserver]# vim .gitlab-ci.yml stages:- compilecompile:stage: compileimage: maven…...

【实战教程】零基础搭建DeepSeek大模型聊天系统 - Spring Boot+React完整开发指南

&#x1f525; 本文详细讲解如何从零搭建一个完整的DeepSeek AI对话系统&#xff0c;包括Spring Boot后端和React前端&#xff0c;适合AI开发入门者快速上手。即使你是编程萌新&#xff0c;也能轻松搭建自己的AI助手&#xff01; &#x1f4da;博主匠心之作&#xff0c;强推专栏…...

AI——认知科学中的认知架构建立步骤与方法

认知科学中的认知架构建立步骤与方法 认知架构&#xff08;Cognitive Architecture&#xff09;是模拟人类心智活动的计算框架&#xff0c;旨在整合感知、记忆、推理、学习等核心认知功能。其建立需结合心理学理论、神经科学证据和计算建模技术。以下是建立认知架构的系统方法…...

C++:买房子

【描述】某程序员开始工作&#xff0c;年薪N万&#xff0c;他希望在中关村公馆买一套60平米的房子&#xff0c;现在价格是200万&#xff0c;假设房子价格以每年百分之K增长&#xff0c;并且该程序员未来年薪不变&#xff0c;且不吃不喝&#xff0c;不用交税&#xff0c;每年所得…...

Webug4.0靶场通关笔记20- 第25关越权查看admin

目录 一、越权原理 1. 水平越权 2. 垂直越权 二、第25关 越权查看admin 1.打开靶场 2.源码分析 &#xff08;1&#xff09;为何存在越权&#xff1f; &#xff08;2&#xff09;如何利用越权&#xff1f; 3.源码修改 4.aaaaa账号登录 5.水平越权切换到mooyuan 6.垂…...

如何在金仓数据库KingbaseES中新建一个数据库?新建一个表?给表添加一个字段?

如何在KingbaseES&#xff08;金仓数据库&#xff09;中新建一个数据库&#xff1f;新建一个表&#xff1f;给表添加一个字段&#xff1f; 摘要 KingbaseES&#xff08;金仓数据库&#xff09;新建数据库、创建表、添加字段全流程实战指南&#xff0c;涵盖 KES 数据库属性、s…...

ubuntu 挂载硬盘

连接硬盘 首先将硬盘正确连接到计算机上。如果是内部硬盘&#xff0c;需要打开机箱&#xff0c;将其连接到主板的 SATA 接口&#xff08;对于大多数现代硬盘&#xff09;或者 IDE 接口&#xff08;对于老旧硬盘&#xff09;&#xff0c;并连接电源线。如果是外部硬盘&#xff0…...

DBa作业

1.假设关系R(A, B)和S(B, C, D)情况如下: R有20000个元组&#xff0c;S有1 200个元组&#xff0c;一个块能装40个R的元组&#xff0c;能装30个S的元组&#xff0c;估算下列操作需要多少次磁盘块读写。 &#xff08;1) R上没有索引&#xff0c;sclect* from R; 总块数 元组数 …...

解决 TimeoutError: [WinError 10060] 在 FramePack项目中连接 Hugging Face 超时的问题

#工作记录 以下是针对 TimeoutError: [WinError 10060] 的完整排查方案&#xff0c;适用于 FramePack项目中。 &#xff08;一般该错误的发生原因请重点排查Hugging Face模型仓库受限需要登录的情形&#xff09; FramePack项目参考资料 FramePack部署&#xff08;从PyCharm解…...

MySQL 联合查询的使用教程

MySQL 中的联合查询是指将多个查询结果合并成一个结果集的操作。联合查询可以通过使用 UNION 或 UNION ALL 关键字实现。 UNION 关键字&#xff1a;UNION 关键字用于合并两个或多个查询的结果&#xff0c;并去除重复的行。语法如下&#xff1a; SELECT column1, column2 FROM…...

每日学习Java之一万个为什么?

文章目录 Java 异步编排与同步工具类对比一、Java 异步编排概述1. **什么是异步编排&#xff1f;**2. **核心工具&#xff1a;CompletableFuture** 二、CompletableFuture 的优点三、同步工具类对比1. **CountDownLatch**2. **CyclicBarrier**3. **Semaphore** 四、Completable…...

Ubuntu 第11章 网络管理

可以肯定地说&#xff0c;如果没有Linux&#xff0c;今天的互联网可能不会这么发达&#xff0c;Linux天生与网络有着密不可分的关系。据统计&#xff0c;Linux和UNIX在互联网服务器操作系统中已经占据了60%以上的市场份额。网络管理对于Ubuntu系统维护来说是一项非常重要的技能…...

深入解析进程间通信与Socket原理:从理论到TypeScript实战

文章目录 一、进程中如何通信1.1 管道1.1.1 核心特性1.1.2 缺点1.1.3 匿名管道与命名管道的对比 1.2 信号1.2.1 核心特性1.2.2 缺点1.2.3 信号分类对比 1.3 消息队列1.3.1 核心特性1.3.2 缺点 1.4 共享内存1.4.1 核心特性1.4.2 缺点 1.5 信号量1.5.1 核心特性1.5.2 缺点 二、So…...

[特殊字符] Milvus + LLM大模型:打造智能电影知识库系统

今天给大家分享一个超酷的技术组合&#xff1a;Milvus向量数据库 智谱AI大模型&#xff01;我们将创建一个能理解电影内容的智能搜索系统&#xff0c;不仅能找到相关电影&#xff0c;还能用自然语言总结答案&#xff01; &#x1f31f; 项目背景 这个项目基于Milvus官方案例…...

MapReduce架构-打包运行

&#xff08;一&#xff09;maven打包 MapReduce是一个分布式运算程序的编程框架&#xff0c;是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序&#xff08;例如&#xff1a;jar…...

信创生态核心技术栈:国产芯片架构适配详解

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;10年以上C/C, C#, Java等多种编程语言开发经验&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开…...

BBDM学习笔记

1. configs 1.1 LBBDM: Latent BBDM [readme]...

6. HTML 锚点链接与页面导航

在开发长页面或文档类网站时,锚点链接(Anchor Links)是一个非常实用的功能。通过学习 HTML 锚点技术,将会掌握如何在同一页面内实现快速跳转,以及如何优化长页面的导航体验。以下是基于给定素材的学习总结和实践心得 一、什么是锚点链接? 锚点链接(也称为页面内链接)允…...

绘制拖拽html

<!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8" /> <meta name"viewport" content"widthdevice-width, initial-scale1" /> <title>拖拽绘制矩形框 - 可移动可调整大小</ti…...

OpenCV计算机视觉实战(3)——计算机图像处理基础

OpenCV计算机视觉实战&#xff08;3&#xff09;——计算机图像处理基础 0. 前言1. 像素和图像表示1.1 像素 2. 色彩空间2.1 原色2.2 色彩空间2.3 像素和色彩空间 3. 文件类型3.1 图像文件类型3.2 视频文件3.3 图像与视频 4. 计算机图像编程简史5. OpenCV 概述小结系列链接 0. …...

零基础学Java——第九章:数据库编程(三)

第九章&#xff1a;数据库编程 - ORM框架&#xff08;下&#xff09; 在上一部分中&#xff0c;我们学习了ORM框架的基础知识和Hibernate框架。在这一部分中&#xff0c;我们将继续学习其他流行的ORM框架&#xff0c;包括MyBatis和Spring Data JPA。 1. MyBatis框架 1.1 MyB…...

Linux/AndroidOS中进程间的通信线程间的同步 - 信号量

1 概述 本文将介绍 POSIX 信号量&#xff0c;它允许进程和线程同步对共享资源的访问。有两种类型的 POSIX 信号量&#xff1a; 命名信号量&#xff1a;这种信号量拥有一个名字。通过使用相同的名字调用 sem_open()&#xff0c;不相关的进程能够访问同一个信号量。未命名信号量…...

精益数据分析(46/126):深入剖析用户生成内容(UGC)商业模式

精益数据分析&#xff08;46/126&#xff09;&#xff1a;深入剖析用户生成内容&#xff08;UGC&#xff09;商业模式 在创业与数据分析的征程中&#xff0c;每一种商业模式都蕴含着独特的价值与挑战。今天&#xff0c;我们依旧怀揣着共同进步的信念&#xff0c;深入研读《精益…...

vue +xlsx+exceljs 导出excel文档

实现功能&#xff1a;分标题行导出数据过多&#xff0c;一个sheet表里表格条数有限制&#xff0c;需要分sheet显示。 步骤1:安装插件包 npm install exceljs npm install xlsx 步骤2&#xff1a;引用包 import XLSX from xlsx; import ExcelJS from exceljs; 步骤3&am…...

Android 10.0 SharedPreferences in credential encrypted storage are not avai

1.前言 在10.0的系统rom定制化开发中,在开机的过程中,由于某些应用在开机解锁阶段就开始访问查询短信和联系人等功能,所以 会出现抛异常的情况出现,接下来分析下相关的情况,然后来解决这些问题 2.SharedPreferences in credential encrypted storage are not available …...

面试高频算法:最长回文子串

题目&#xff1a;5. 最长回文子串 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 回文&#xff1a;如果字符串向前和向后读都相同&#xff0c;则它满足回文性&#xff1b;子串&#xff1a;子字符串 是字符串中连续的非空字符序列。 示例 1&#xff1a; 输入&…...

RDK X5 交叉编译OSS\QT\opencv\openssl

RDK X5 交叉编译环境配置 1 资源2 使用vm安装Ubuntu22.043 安装依赖4 安装ide5 下载交叉编译工具6 编译oss库6.1 设置临时环境变量6.2 编译arm版本的openssl6.2 编译arm版本的curl6.1 下载oss源码6.1.1 创建arm-toolchain.cmake6.1.2 修改CMakeLists.txt6.1.3 编译 7 编译openc…...

Python cv2边缘检测与轮廓查找:从理论到实战

在计算机视觉领域&#xff0c;边缘检测与轮廓查找是图像分析的核心技术。本文将结合OpenCV库&#xff08;cv2模块&#xff09;&#xff0c;从理论原理到代码实战&#xff0c;系统讲解如何通过Python实现这两个关键操作。 一、基础概念解析 1.1 边缘检测的本质 边缘是图像中灰…...

5月7日星期三今日早报简报微语报早读

5月7日星期三&#xff0c;农历四月初十&#xff0c;早报#微语早读。 1、1101名优秀运动员拟保送&#xff0c;全红婵、黄雨婷、盛李豪在列&#xff1b; 2、世界羽联主席巴达玛&#xff1a;中国组织赛事的能力无与伦比&#xff1b; 3、中国首位、亚洲首位&#xff01;赵心童夺…...

智慧医院的可视化变革:可视化工具助力数字化转型

在科技飞速发展的当下&#xff0c;智慧医院已从概念逐步落地&#xff0c;深刻改变着传统医疗模式。它借助互联网、数字孪生及人工智能等前沿技术&#xff0c;在医疗服务领域掀起革新&#xff0c;涵盖面向医务人员的“智慧医疗”、面向患者的“智慧服务”以及面向医院的“智慧管…...

python+open3d选择点云上的某个点并获取其对应三维坐标

👑主页:吾名招财 👓简介:工科学硕,研究方向机器视觉,爱好较广泛… ​💫签名:面朝大海,春暖花开! python+open3d选择点云上的某个点并获取其对应三维坐标 1,引言2,效果展示3,点云获取4,程序1,引言 有时候我们只想在点云上获取某个目标的具体坐标,通过程序根据…...

ROS第十三梯:RViz+Marker——自定义几何形状可视化

1)概述 在ROS(Robot Operating System)中,Marker是一种用于在RViz(Robot Visualization)中显示自定义几何形状和注释的工具。Marker是通过visualization_msgs/Marker消息类型发布的。可以在RViz中以各种形式(如点、线、文本、立方体等)显示数据。 2)主要消息格…...

Java高频面试之并发编程-13

hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本baby今天又来报道了&#xff01;哈哈哈哈哈嗝&#x1f436; 面试官&#xff1a;详解原子性、可见性、有序性 在并发编程中&#xff0c;原子性&#xff08;Atomicity&#xff09;、可见性&#xff08;…...

WSL 的 Ubuntu 子系统中启用图形化界面

sudo chmod w /home sudo apt update sudo apt install cifs-utils 1. 选择合适的 X 服务器 在 Windows 系统上&#xff0c;需要安装一个 X 服务器来处理 WSL 中 Ubuntu 的图形显示。常用的 X 服务器有 VcXsrv 和 X410&#xff0c;这里以 VcXsrv 为例&#xff1a; 从VcXsrv 官…...

项目模拟实现消息队列第二天

消息应答的模式 1.自动应答: 消费者把这个消息取走了&#xff0c;就算是应答了&#xff08;相当于没有应答) 2.手动应答: basicAck方法属于手动应答(消费者需要主动调用这个api进行应答) 小结 1.需要实现生产者,broker server&#xff0c;消费者这三个部分的 2.针对生产者和消费…...

MySQL OCP和Oracle OCP怎么选?

近期oracle 为庆祝 MySQL 数据库发布 30 周年&#xff0c;Oracle 官方推出限时福利&#xff1a;2025 年 4 月 20 日至 7 月 31 日期间&#xff0c;所有人均可免费报考 MySQL OCP&#xff08;Oracle Certified Professional&#xff09;认证考试&#xff08;具体可查看MySQL OCP…...

SR触发器为什么能够消抖

SR触发器&#xff08;Set-Reset触发器&#xff09;能够用于**消抖&#xff08;Debounce&#xff09;**&#xff0c;主要是因为它的双稳态特性和对输入信号的锁定能力。机械开关&#xff08;如按键、拨动开关&#xff09;在闭合或断开时&#xff0c;由于金属触点的弹性&#xff…...

2025ISCC练武校级赛部分题解WP

Web 战胜卞相壹 <!-- 路过的酒罐王柯洁九段说&#xff1a; --> <!-- 会叠棋子有什么用&#xff01;你得在棋盘内战胜他&#xff01;我教你个定式&#xff0c;要一直记得&#xff01;一直&#xff01; --> <!-- SGF B[ae];B[ce];B[df];B[cg];B[ag];B[ai];B[ci];…...