力扣面试题 16.06. 最小差

Problem: 面试题 16.06. 最小差

文章目录

  • 题目描述
  • 思路即解法
  • 复杂度
  • Code

题目描述

在这里插入图片描述

思路即解法

注意本题目的数据范围!!!

1.对数组a与数组b进行排序;获取a与b的数组长度aLen,bLen,定义一个long类型的变量min;
2.分别让两个指针i,j指向数组的开头;
3.while循环遍历(循环退出条件i < aLen && j < bLen)

若a[i] >= b[j]:i++,同时min = min(min, b[j] - a[i]);
若a[i] < b[j]:j++,同时min = min(min, a[i] - b[j]);

复杂度

时间复杂度:

O ( m a x ( n , m ) ) O(max(n,m)) O(max(n,m));其中 n n n为数组a的大小, m m m为数组b的大小

空间复杂度:

O ( 1 ) O(1) O(1)

Code

class Solution {
public:
    /**
     * 
     * @param a Given array
     * @param b Given array
     * @return int
     */
    int smallestDifference(vector<int> &a, vector<int> &b) {
        sort(a.begin(), a.end());
        sort(b.begin(), b.end());
        int aLen = a.size();
        int bLen = b.size();
        int i = 0;
        int j = 0;
        long min = LONG_MAX;
        while (i < aLen && j < bLen) {
            if (a[i] <= b[j]) {
                min = std::min(min, (long) b[j] - a[i]);
                i++;
            } else {
                min = std::min(min, (long) a[i] - b[j]);
                j++;
            }
        }
        return (int) min;
    }
};

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ROS 计算图级 小结

ROS 会创建一个连接到所有进程的网络。在系统中的任何节点都可以访问此网络&#xff0c;并通过该网络与其他节点交互&#xff0c;获取其他节点发布的信息&#xff0c;并将自身数据发布到网络上。 在这一层级中最基本的概念包括节点、节点管理器、参数服务器、消息、服务、主题和…

鸿蒙开发会是前端程序员的下一个春天吗?

前言 最近前端的大环境不太行&#xff0c;之前身处在前端的自己薪资也越来越无望了&#xff0c;隐隐约约感觉前端做不下去了&#xff0c;2024前端找不到工作要转行吗&#xff1f; 看新闻的过程中&#xff0c;**发现越来越多的巨头公司融入鸿蒙生态建设&#xff0c;鸿蒙“朋友…

Flink Checkpoint 超时问题和解决办法

第一种、计算量大&#xff0c;CPU密集性&#xff0c;导致TM内线程一直在processElement&#xff0c;而没有时间做CP【过滤掉部分数据&#xff1b;增大并行度】 代表性作业为算法指标-用户偏好的计算&#xff0c;需要对用户在商城的曝光、点击、订单、出价、上下滑等所有事件进…

Soul App深化社交元宇宙生态治理,与用户共建清朗网络家园

近日,新型开放式社交平台Soul App发布了《2023年第二季度Soul生态安全报告》,展现了其在深化社交元宇宙生态治理方面的创新成果。报告显示,第二季度,Soul围绕反诈、引导社交礼仪规范、未成年保护、用户共治众裁、防治网暴骚扰等方面开展用户安全生态专项治理,通过一系列创新举措…

MATLAB字符串编辑常用代码

1.字符串赋值 % 字符串赋值 sabcdefg 2.字符串属性和操作 (1)获取字符串长度 sabcdefg;% 字符串赋值 length(a) % 获取字符串长度 (2)连接字符串 % 连接两个字符串,每个字符串最右边的空格被裁切 s1a s2b s3strcat(s1,s2) 3.字符串比较 % strcmp 比较两个字符串是…

Linux--基础开发工具篇(1)(yum)

1.Linux 软件包管理器 yum 1.1yum是什么&#xff1f;什么是软件包&#xff1f; yum是什么&#xff1f; yum是一个软件下载安装管理的一个客户端&#xff0c;就如小米应用商店&#xff0c;华为应用商城。 Linux中软件包可能有依赖关系--yum会帮助我们解决依赖关系的问题。 什么是…

acrobat调整pdf的页码和实际页码保持一致

Acrobat版本 具体操作 现在拿到pdf的结构如下&#xff1a; pdf页码实际页码1-10页无页码数11页第1页 操作&#xff0c;选择pdf第10页&#xff0c;右键点击 具体设置 最终效果

MySQL 多表查询

文章目录 多表关系一对多多对多一对一 查询合并查询&#xff08;笛卡尔积&#xff0c;会展示所有组合结果&#xff09;&#xff1a;内连接查询外连接查询自连接查询联合查询 union, union all子查询单行子查询列子查询行子查询表子查询 :::success 多表查询&#xff0c;也称为…

Linux/Academy

Enumeration nmap 首先扫描目标端口对外开放情况 nmap -p- 10.10.10.215 -T4 发现对外开放了22,80,33060三个端口&#xff0c;端口详细信息如下 结果显示80端口运行着http&#xff0c;且给出了域名academy.htb&#xff0c;现将ip与域名写到/et/hosts中&#xff0c;然后从ht…

负载均衡-Ribbon-自定义负载均衡算法

1.Ribbon 是什么 SpringCloud Ribbon 是基于 Netflix Ribbon 实现的一套客户端负载均衡的工具主要功能是提供客户端的软件负载均衡算法&#xff0c;将 Netflix 的中间服务处连接在一起Ribbon的客户端组件提供一系列完整的配置项&#xff0c;如&#xff1a;连接超时、重试等。简…

TCP通信流程以及套接字函数

TCP和UDP的特点&#xff1a; 对于单播&#xff0c;多播&#xff0c;广播的解释&#xff1a; 单播&#xff1a; 一对一通信&#xff0c;目标地址唯一。多播&#xff1a; 一对多通信&#xff0c;目标地址是一个特定的组。广播&#xff1a; 一对全部通信&#xff0c;目标地址是整…

vue3之 websoket发送消息

1.封装websoket var ws null; //建立的连接 var lockReconnect false;//是否真正建立连接 var timeout 6 * 1000 * 5;//30秒一次心跳 var timeoutObj null;//心跳心跳倒计时 var serverTimeoutObj null;//心跳倒计时 var timeoutnum null;//断开 重连倒计时 var global_…

win10安装redis并配置加自启动(采用官方推荐unix子系统)

记录&#xff0c;为啥有msi安装包&#xff0c;还这么麻烦的用linux版本redis的安装方式&#xff0c;是因为从github上下载别人制作的msi报毒&#xff0c;还不止一处&#xff0c;这种链接数据库的东西&#xff0c;用别人加工过的&#xff0c;都报毒了还用就是傻逼了。 所以采用…

Linux---文件系统

在基础IO中&#xff0c;我们所讲的都是对被打开文件的管理&#xff0c;但是不是所有的文件都是被打开的&#xff0c;对那些在磁盘中保存的没有被打开的文件&#xff0c;我们同样也需要管理&#xff0c;这个就像是快递站中等待被人取走的快递&#xff0c;我们需要将它们分门别类…

赋值运算符

注意点&#xff1a;复合赋值运算符&#xff0c;会进行强制类型转换&#xff0c;不会报错 byte b 2; b 3; b; b 2; b为byte类型 b 3; 等价于b b 3;而b3的结果为int类型&#xff1b; 但在此过程中存在强制类型转换&#xff0c;b(byte)(b3);因而不会报错

电脑提示找不到opencl.dll无法继续执行的多种解决方法,实测有效

Opencl.dll文件的丢失可能会引发一系列系统运行与软件功能上的问题。作为一款重要的动态链接库文件&#xff0c;Opencl.dll在计算机中扮演着关键角色&#xff0c;它主要负责支持和实现OpenCL&#xff08;开放运算语言&#xff09;标准&#xff0c;该标准允许程序能够利用多种不…

C/C++ LeetCode:跳跃问题

个人主页&#xff1a;仍有未知等待探索-CSDN博客 专题分栏&#xff1a;算法_仍有未知等待探索的博客-CSDN博客 题目链接&#xff1a;45. 跳跃游戏 II - 力扣&#xff08;LeetCode&#xff09; 一、题目 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元…

eNSP学习——利用三层交换机实现VLAN间路由

目录 背景 实验内容 实验目的 实验步骤 实验拓扑 实验编址 实验步骤 基本配置 配置三层交换机实现VLAN间通信 背景 虽说单臂路由可以实现不同VLAN之间主机的通信&#xff0c;但该技术存在一些局限性&#xff0c;比如带宽、转发效率等。 三层交换机在原有二层交换机…

备忘录模式-C#实现

该实例基于WPF实现&#xff0c;直接上代码&#xff0c;下面为三层架构的代码。 目录 一 Model 二 View 三 ViewModel 一 Model using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace 设计模式练…

阅读go语言工具源码系列之gopacket(谷歌出品)----第二集 layers-巧妙的抽象与无聊的协议包

上一集中我们讲到了wpcap.dll的go封装方法&#xff0c;对于linux系统下libpcap的go封装采用的是常用的cgo方式&#xff0c;想了解的可以看看pcap文件夹中的pcap_unix.go。 我们得到了wpcap.dll的go调用&#xff0c;就可以利用它来进行列举所有网络设备&#xff0c;例如以下代码…