力扣1818.绝对差值和

力扣1818.绝对差值和

  • 把nums1拷贝复制一份 去重排序 对于每个nums2都找到差距最小的那个数(二分)

    • 作差求最大可优化差值
    • 去重排序可以直接用set 自动去重排序了
  •   const int N = 1e9+7;class Solution {public:int minAbsoluteSumDiff(vector<int>& nums1, vector<int>& nums2) {long long cur = 0;  //求当前差值和set<long long> st;for(int i=0;i<nums1.size();i++){cur += abs(nums1[i] - nums2[i]);st.insert(nums1[i]);}long long ret = cur;for(int i=0;i<nums2.size();i++){//set的二分写法 直接调用//找到>=nums2[i]的第一个数auto ptr = st.lower_bound(nums2[i]);//如果没出界if(ptr != st.end())ret = min(ret,cur - (abs(nums1[i] - nums2[i]) - abs(nums2[i] - *ptr)));//如果前面还有一项小的 再比一次if(ptr != st.begin()){-- ptr;ret = min(ret,cur - (abs(nums1[i] - nums2[i]) - abs(nums2[i] - *ptr)));}}return ret%N;}};
    

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

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

相关文章

springboot集成shardingsphere-分库分表

导入maven依赖&#xff0c;如下 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><a…

MyBatis 参数传递详解

MyBatis 是一个强大的持久层框架&#xff0c;支持多种方式将参数传递给 SQL 语句&#xff0c;以实现数据库操作。在使用 MyBatis 进行开发时&#xff0c;正确理解和使用参数传递机制对于构建高效、可维护的应用至关重要。本文将详细介绍 MyBatis 中常见的参数传递方式及其使用场…

哈工大-公差基础-配合(互换性和测量基础)-3

基轴制的情况&#xff1a; 三种配合类别的选择&#xff1a; 公差带是由标准公差和基本偏差组成的。 公差带的选用&#xff1a; 未注公差的标准&#xff1a; 练习&#xff1a; 计算过程&#xff1a;

【DevOps】Logstash详解:高效日志管理与分析工具

在现代软件开发和运维过程中&#xff0c;日志管理与分析是至关重要的环节。日志可以帮助我们追踪系统行为、诊断问题、优化性能以及确保安全合规。Logstash&#xff0c;作为ELK Stack&#xff08;Elasticsearch、Logstash、Kibana&#xff09;的核心组件之一&#xff0c;是一个…

【MySQL】在CentOS环境下安装MySQL

目录 一、卸载残留环境 二、获取官方yum源 三、安装yum源 四、安装MySQL 五、启动MySQL 一、卸载残留环境 输入 ps axj | grep mysql 查看是否存在正在运行的MySQL服务 如果有&#xff0c;则先输入 systemctl stop mysqld 来关闭服务 然后输入 rpm -qa | grep mysql 查看…

Python中的实用缓存机制实现

Python中的实用缓存机制实现 一、引言 在软件开发中&#xff0c;缓存是一个重要的优化手段&#xff0c;它可以显著提高程序的性能。尤其是在处理大量数据或者频繁访问相同数据时&#xff0c;通过缓存可以避免重复计算或数据库查询&#xff0c;从而大幅减少响应时间。Python作…

【数据结构陈越版笔记】2.1 引子【第2章 数据结构实现基础】

2.1 引子 数据结构的处理方法是从具体应用中抽象出共性的数据组织与操作方法&#xff0c;进而采用某种具体的程序涉及语言实现相应的数据存储与操作。 【例】给日常处理的数据进行统计分析 类型名称&#xff1a;统计数据集 数据对象集&#xff1a;N个元素 { x 1 , x 2 , . . .…

报错 Cannot read properties of undefined(reading‘addEventListener‘)如何解决

我在制作项目中遇到了一个问题&#xff0c;给大家分享一下&#xff0c;如下图&#xff1a; 问题&#xff1a;这是我给一个input输入框绑定的监听事件出现的报错 翻译&#xff1a;无法读取未定义的属性(读取 addEventListener ) 错误原因&#xff1a;js中操作的dom元素的函数方…

KL散度(Kullback-Leibler divergence)

K L KL KL散度&#xff08; K u l l b a c k − L e i b l e r d i v e r g e n c e Kullback-Leibler\ divergence Kullback−Leibler divergence&#xff09;&#xff0c;也被称为相对熵、互熵或鉴别信息&#xff0c;是用来衡量两个概率分布之间的差异性的度量方法。以下是对…

在vscode中调试,命令行出现错误信息ModuleNotFoundError: No module named ‘imp‘

在vscode中调试&#xff0c;命令行出现错误信息ModuleNotFoundError: No module named ‘imp’ 报错原因 VSCode的python扩展会使用debugpy库实现调试功能。在涉及qt组件加载时&#xff0c;debugpy的qt_loaders.py会尝试加载imp库。而在python3.12及以后的版本中&#xff0c;…

钉钉Stream模式推送程序环境部署

python3.10版本需要openssl1.1.1及以上版本 参考链接&#xff1a;https://blog.csdn.net/weixin_42806458/article/details/110678710 wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz unzip openssl-1.1.1q.tar.gz cd openssl-1.1.1q ./config --prefix/usr/loc…

【Ant-Design-Vue动态表头并填充数据】

在 Ant Design Vue 中&#xff0c;动态表头和数据填充通常涉及两个主要步骤&#xff1a; 动态生成表头&#xff1a;这通常是通过 Vue 的动态数据绑定和组件属性来实现的。填充数据&#xff1a;使用 Vue 的数据属性&#xff08;data&#xff09;或计算属性&#xff08;computed…

LabVIEW软件开发任务的工作量估算方法

在开发LabVIEW软件时&#xff0c;如何准确估算软件开发任务的工作量。通过需求分析、功能分解、复杂度评估和资源配置等步骤&#xff0c;结合常见的估算方法&#xff0c;如专家判断法、类比估算法和参数估算法&#xff0c;确保项目按时按质完成&#xff0c;提供项目管理和资源分…

C++标准模板(STL)- 迭代器库-迭代器适配器 - 创建拥有从实参推出的类型的 std::move_iterator

迭代器库-迭代器原语 迭代器库提供了五种迭代器的定义&#xff0c;同时还提供了迭代器特征、适配器及相关的工具函数。 迭代器分类 迭代器共有五 (C17 前)六 (C17 起)种&#xff1a;遗留输入迭代器 (LegacyInputIterator) 、遗留输出迭代器 (LegacyOutputIterator) 、遗留向前迭…

【JKI SMO】框架讲解(一)

JKI State Machine是一款易于使用且功能强大的状态机模板&#xff0c;可以作为界面或者仪器工作流程的基础框架&#xff0c;但是他不能处理复杂系统的多任务并发机制&#xff0c;因为他是只能处理单个进程。 随之&#xff0c;JKI推出了基于面向对象封装的SMO框架&#xff0c;是…

【云原生】docker swarm 使用详解

目录 一、前言 二、容器集群管理问题 2.1 docker集群管理问题概述 2.1.1 docker为什么需要容器部署 2.2 docker容器集群管理面临的挑战 三、docker集群部署与管理解决方案 四、Docker Swarm概述 4.1 Docker Swarm是什么 4.1.1 Docker Swarm架构图 4.1.2 Docker Swarm几…

c++_0基础_讲解6 循环语句

for循环 C中的for循环是一种控制流语句&#xff0c;用于重复执行一组语句&#xff0c;直到指定条件为假。它是C中最常用的循环结构之一&#xff0c;提供了灵活的控制循环的方式&#xff0c;能够在各种情况下进行迭代和循环操作。 for循环由三个重要部分组成&#xff1a;初始化…

Windows下访问wsl的数据

Windows下访问wsl的数据 有些人感受到的是雨&#xff0c;而很多人感受到的只有淋湿。 Windows下的wsl说实话还是挺不错的&#xff0c;对于开发而言&#xff0c;效果相当的可以。 比如在某个文件夹&#xff0c;Windows编辑好代码后&#xff0c;直接右键打开wsl&#xff0c;就可…

HTML中的<a>标签使用指南

HTML中的<a>标签使用指南 HTML中的<a>标签&#xff0c;也就是超链接标签&#xff0c;是网页设计中不可或缺的元素之一。它允许用户从一个页面跳转到另一个页面&#xff0c;或者触发某些动作。以下是<a>标签的使用和属性的详细介绍。 <a>标签的主要作…

Vue3主题色变更原理版

在src文件下创建style文件夹index.css文件定义颜色 :root {--book-bgcolor: #125465; } 在main.ts文件导入全局css样式 import ./style/index.css 在目标页面使用颜色 <template><div class="bg"><button @click="changecolor">变色…