leetcode3043. 最长公共前缀的长度

给你两个 正整数 数组 arr1 和 arr2 。

正整数的 前缀 是其 最左边 的一位或多位数字组成的整数。例如,123 是整数 12345 的前缀,而 234 不是 

设若整数 c 是整数 a 和 b 的 公共前缀 ,那么 c 需要同时是 a 和 b 的前缀。例如,5655359 和 56554 有公共前缀 565 ,而 1223 和 43456 没有 公共前缀。

你需要找出属于 arr1 的整数 x 和属于 arr2 的整数 y 组成的所有数对 (x, y) 之中最长的公共前缀的长度。

返回所有数对之中最长公共前缀的长度。如果它们之间不存在公共前缀,则返回 0 。

这种解法也是系统提示的,比较耗时间

就是先把第一个数组,所有可能得前缀都放在一个set容器中,然后再第二个数组所有前缀里面找是否在set容器中,所以接下设置一个变量存放就行,最大长度就行

c++代码如下:

class Solution {
public:int longestCommonPrefix(vector<int>& arr1, vector<int>& arr2) {int i,j,cnt=0;set<string>hash;for(auto a:arr1){string s=to_string(a);string q="";for(auto w:s){q+=w;hash.insert(q);}}int mx=0;for(auto a:arr2){string s=to_string(a);string q="";for(auto w:s){q+=w;if(hash.find(q)!=hash.end()){int len=q.length();mx=max(mx,len); }}}return mx;}
};
class Solution {
public:int longestCommonPrefix(vector<int> &arr1, vector<int> &arr2) {unordered_set<string> st;for (int x : arr1) {string s = to_string(x);for (int i = 1; i <= s.length(); i++) {st.insert(s.substr(0, i));}}int ans = 0;for (int x : arr2) {string s = to_string(x);for (int i = 1; i <= s.length(); i++) {if (!st.contains(s.substr(0, i))) {break;}ans = max(ans, i);}}return ans;}
};

java版本:(IDEA)

package leetcode.B;import java.util.HashSet;import static java.lang.Math.max;/*
* 3043. 最长公共前缀的长度*/
public class B1 {public static void main(String[] args) {int []arr1={1,10,100};int [] arr2={1000};int i,j,maxlen=0;HashSet<String>hashSet=new HashSet<String>();for(int a:arr1){String s=String.valueOf(a);for(i=1;i<=s.length();i++){hashSet.add(s.substring(0, i));}}for(int a:arr2){String s=String.valueOf(a);for(i=1;i<=s.length();i++){if(hashSet.contains(s.substring(0,i))) maxlen=max(maxlen,i);else break;}}System.out.println(maxlen);}}

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

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

相关文章

Haproxy基础概念

1.简介 HAProxy&#xff0c;它可以提供高可用性、负载均衡&#xff0c;以及基于TCP(第四层)和HTTP&#xff08;第七层&#xff09;的应用程序代理。 HAProxy特别适用于那些负载特大的web站点&#xff0c;这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上&…

python+selenium 定位到元素,无法点击的解决方法

今天小编就为大家分享一篇pythonselenium 定位到元素,无法点击的解决方法&#xff0c;具有很好的参考价值&#xff0c;希望对大家有所帮助。一起跟随小编过来看看吧 selenium.common.exceptions.WebDriverException: Message: Element is not clickable at point (234.75, 22)…

【JavaScript 漫游】【017】异步操作概述

文章简介 本文为【JavaScript 漫游】专栏的第 017 篇文章&#xff0c;主要记录了 ES5 规范中异步操作的基本知识点。 单线程模型同步任务和异步任务任务队列和事件循环异步操作的模式 单线程模型 单线程模型指的是&#xff0c;JS 只在一个线程上运行。它同时只能执行一个任…

Mysql如何优化数据查询方案

mysql做读写分离 读写分离是提高mysql并发的首选方案。 Mysql主从复制的原理 mysql的主从复制依赖于binlog&#xff0c;也就是记录mysql上的所有变化并以二进制的形式保存在磁盘上&#xff0c;复制的过程就是将binlog中的数据从主库传输到从库上。 主从复制过程详细分为3个阶段…

每日OJ题_二叉树dfs②_力扣129. 求根节点到叶节点数字之和

目录 力扣129. 求根节点到叶节点数字之和 解析代码 力扣129. 求根节点到叶节点数字之和 129. 求根节点到叶节点数字之和 难度 中等 给你一个二叉树的根节点 root &#xff0c;树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字&am…

基于Windows搭建ftp服务器

WinR搜索’服务器管理器’,配置–用户和组 创建用户和组&#xff0c;将用户添加到组里 按图示创建一个文件&#xff0c;右键属性–安全 将刚才创建的组添加到对象里&#xff0c;并赋予他读取和写入的权限 角色–添加角色 勾选web服务器IIS 搜索IIS–网站右键–添加FTP站点…

vivado Asymmetric RAMs

以下部分提供了非对称RAM的VHDL和Verilog编码示例。 读比写宽时的简单双端口非对称RAM&#xff08;VHDL&#xff09; Filename: asym_ram_sdp_read_wider.vhd -- Asymmetric port RAM -- Read Wider than Write -- asym_ram_sdp_read_wider.vhd library ieee; use ieee.s…

【软考中级备考笔记】计算机体系结构

计算机体系结构 2月19日 – 天气&#xff1a;阴转小雪 1. 冯诺依曼计算机体系结构 冯诺依曼将计算机分为了五大部分&#xff0c;分别是&#xff1a; 控制器&#xff1a;主要负责协调指令到执行运算器&#xff1a;负责算数和逻辑运算存储器&#xff1a;负责存储在指令执行过程…

全网最 2024 GitHub Copilot超详细免费激活教学-干货

全网最&#x1f525; 2024 GitHub Copilot免费超详细激活教学 尊重原创&#xff0c;编写不易 &#xff0c;帮忙点赞关注一下~转载小伙伴请注明出处&#xff01;谢谢 GitHub Copilot 概述 GitHub Copilot 是由 GitHub 和 OpenAI 合作开发的一款人工智能编程助手。它利用机器…

JS基础(语法结构变量数据类型运算符流程控制)

JS基础(语法结构/变量/数据类型/运算符/流程控制) 目录 JS基础(语法结构/变量/数据类型/运算符/流程控制)什么是js&#xff1f;注释语法语法结构引入方式【1】script标签内部直接书写js代码【2】script标签src属性引入外部js代码 JS基础数据类型变量与常量变量的定义常量的定义…

[office] Excel使用INTRATE函数计算债券的一次性付息利率 #职场发展#笔记

Excel使用INTRATE函数计算债券的一次性付息利率 在Excel中&#xff0c;如果计算债券的一次性付息利率&#xff0c;可以使用INTRATE函数计算债券的一次性付息利率。Excel2007可使用INTRATE函数计算债券的一次性付息利率。 如上图所示&#xff0c;在B7单元格输入公式&#xff1…

ONLYOFFICE 8.0:引领数字化办公新纪元

目录 前言 软件安装 软件启动 软件新版本特性 个人评价 总结 前言 在当今快节奏的数字化世界中&#xff0c;高效的办公软件已成为企业竞争力的关键因素。ONLYOFFICE&#xff0c;作为全球领先的办公解决方案提供商&#xff0c;始终致力于通过技术创新来优化用户体验。如今…

Java使用Redis实现消息队列

近期刷Java面试题刷到了“如何使用Redis实现消息队列”&#xff0c;解答如下&#xff1a; 一般使用 list 结构作为队列&#xff0c; rpush 生产消息&#xff0c; lpop 消费消息。当 lpop 没有消息的时候&#xff0c;要适当sleep 一会再重试。若不使用sleep&#xff0c;则可以用…

习题2.3 old bill

描述 Among grandfather’s papers a bill was found. 72 turkeys $679 The first and the last digits of the number that obviously represented the total price of those turkeys are replaced here by blanks (denoted _), for they are faded and are illegible. What a…

【力扣 - 二叉树的最大深度】

题目描述 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 提示&#xff1a; 树中节点的数量在 [0, 10^4] 区间内。 -100 < Node.val < 100方法一&#xff1a;深度优先搜索 思路与算法 如…

Rust中不可变变量与const有何区别?

Rust作者认为变量默认应该是immutable&#xff0c;即声明后不能被改变的变量。这一点是让跨语言学习者觉得很别扭&#xff0c;不过这一点小的改变带来了诸多好处&#xff0c;本节我们来学习Rust的变量。 什么是变量&#xff1f; 如果你初次学习编程语言&#xff0c;变量会是一…

使用go-llama.cpp 运行 yi-01-6b大模型,使用本地CPU运行,速度挺快的

1&#xff0c;视频地址 2&#xff0c;关于llama.cpp 项目 https://github.com/ggerganov/llama.cpp LaMA.cpp 项目是开发者 Georgi Gerganov 基于 Meta 释出的 LLaMA 模型&#xff08;简易 Python 代码示例&#xff09;手撸的纯 C/C 版本&#xff0c;用于模型推理。所谓推理…

手撕C语言习题

定义一个表示公交线路的结构体&#xff0c;要求有线路名称(例如 616)&#xff0c;起始站&#xff0c;终点站&#xff0c;里程等成员&#xff0c; 定义结构体数组&#xff0c;用来存储多条条公交线路信息&#xff0c;要求能够输出从指定起始站发车的所以公交线路信息。 2、定义…

【软考高项】【教材知识梳理】- 15 - 第15章 - 项目风险管理

一、基本问题 1&#xff1a;按照可预测性&#xff0c;风险分哪三类&#xff1f; &#xff08;1&#xff09;已知风险&#xff1a;如项目目标不明确&#xff0c; 过分乐观的进度计划&#xff0c; 设计或施工变更和材料价格波动等。&#xff08;2&#xff09;可预测风险&#xff…

NVIDIA Corporation 在 GitHub 的官方主页

NVIDIA Corporation 在 GitHub 的官方主页 References https://github.com/NVIDIA References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/