LeetCode 1874. 两个数组的最小乘积和

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

给定两个长度相等的数组a和b,它们的乘积和为数组中所有的a[i] * b[i]之和,其中 0 <= i < a.length

比如a = [1,2,3,4],b = [5,2,3,1]时,它们的乘积和为 1*5 + 2*2 + 3*3 + 4*1 = 22

现有两个长度都为 n 的数组 nums1和nums2,你可以以任意顺序排序nums1,请返回它们的最小乘积和

示例 1:
输入: nums1 = [5,3,4,2], nums2 = [4,2,2,5]
输出: 40
解释: 将 num1 重新排列为 [3,5,4,2] 后,
可由 [3,5,4,2][4,2,2,5] 得到最小乘积和 3*4 + 5*2 + 4*2 + 2*5 = 40。示例 2:
输入: nums1 = [2,1,4,5,7], nums2 = [3,2,4,8,6]
输出: 65
解释: 将 num1 重新排列为 [5,7,4,1,2] 后,
可由 [5,7,4,1,2][3,2,4,8,6] 得到最小乘积和 5*3 + 7*2 + 4*4 + 1*8 + 2*6 = 65。提示:
n == nums1.length == nums2.length
1 <= n <= 10^5
1 <= nums1[i], nums2[i] <= 100

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimize-product-sum-of-two-arrays
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • a>b,c>da > b, c > da>b,c>dac+bd,ad+bcac+bd, ad+bcac+bdad+bc 两种选择
  • ac+bd−ad−bc=a(c−d)−b(c−d)=(a−b)(c−d)>0→ac+bd>ad+bcac+bd-ad-bc=a(c-d)-b(c-d)=(a-b)(c-d) > 0 \rightarrow ac+bd > ad+bcac+bdadbc=a(cd)b(cd)=(ab)(cd)>0ac+bd>ad+bc,最大的乘以最小的会得到更小的结果
class Solution {
public:int minProductSum(vector<int>& nums1, vector<int>& nums2) {// a > b, c > d// ac+bd-ad-bc=a(c-d)-b(c-d) > 0sort(nums1.begin(), nums1.end());sort(nums2.begin(), nums2.end());int ans = 0, n = nums1.size();for(int i = 0; i < n; ++i)ans += nums1[i]*nums2[n-1-i];return ans;}
};

156 ms 102.9 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

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

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

相关文章

eplise怎么连接数据库_eclipse连接mysql

JDBC代表Java数据库连接(Java Database Connectivity)&#xff0c;它是用于Java编程语言和数据库之间的数据库无关连接的标准Java API&#xff0c;换句话说&#xff1a;JDBC是用于在Java语言编程中与数据库连接的API。到www.mvnrepository.com网站中&#xff0c;搜索mysql&…

【NS2】在linux下安装低版本GGC

1、下载安装包&#xff0c;cd到文件所在目录 sudo dpkg -i gcc41-compat-4.1.2-ubuntu1210_i386.deb g41-compat-4.1.2_i386.deb 2、查看安装到系统的gcc ls /usr/bin/gcc* 3、 下载完包之后&#xff0c;建议是直接sudo dkpg -i *.deb这样安装 由于gcc安装互相有版本的支持&…

oracle+资料类型不一致吗,oracle数据库中,字段类型不一致,导致查询慢

最近一个WEBSERVICE突然变慢了&#xff0c;后查询发现&#xff0c;后台查询也非常慢(记录条数800多万)&#xff0c;索引也有&#xff0c;如下语句SELECT P.ID,P.RECORD_ID,P.KEY_NAME,P.KEY_CONTENTFROM MED_EMR_PATIENT_RECORD R,MED_EMR_RECORD_EXTRACTINFO PWHERE R.ID P.R…

LeetCode 1940. 排序数组之间的最长公共子序列(二分查找)

文章目录1. 题目2. 解题1. 题目 给定一个由整数数组组成的数组arrays&#xff0c;其中arrays[i]是严格递增排序的&#xff0c;返回一个表示所有数组之间的最长公共子序列的整数数组。 子序列是从另一个序列派生出来的序列&#xff0c;删除一些元素或不删除任何元素&#xff0…

最小二乘估计_相关性及最小二乘估计【20201026】

考前高考要求1.知识要求对知识的要求依次是了解、理解、掌握三个层次.2.能力要求(1)空间想象能力(2)抽象概括能力(3)推理论证能力(4)运算求解能力(5)数据处理能力(6)应用意识(7)创新意识3.个性品质要求个性品质是指考生个体的情感、态度和价值观.要求考生具有一定的数学视野&am…

mac node oracle,将Python3.5(Mac OS X El Capitan)连接到Oracle集群(远程)

我正在尝试将Python3.5(Mac OS X El Capitan)连接到Oracle集群(远程)。对于安装cx_Oracle&#xff0c;我设置了&#xff1a;export ORACLE_HOME/Applications/oracle/instantclient_11_2export LD_LIBRARY_PATH$ORACLE_HOMEexport DYLD_LIBRARY_PATH$ORACLE_HOMEexport PATH$OR…

oracle 只对成绩前三名进行排序其余不变_2021年采用美术统考成绩的重点院校名单汇总...

点击蓝字关注我们吧&#xff01;2019年底&#xff0c;教育部发文&#xff0c;除独立设置的本科艺术院校和参照院校(共48所)外&#xff0c;其余高校的美术学类和设计学类专业不允许组织校考。不管是211工程大学还是985工程大学&#xff0c;均被严格进行组织美术类校考。但是&…

LeetCode 1564. 把箱子放进仓库里 I(排序)

文章目录1. 题目2. 解题1. 题目 给定两个正整数数组 boxes 和 warehouse &#xff0c;分别包含单位宽度的箱子的高度&#xff0c;以及仓库中 n 个房间各自的高度。 仓库的房间分别从 0 到 n - 1 自左向右编号&#xff0c; warehouse[i] &#xff08;索引从 0 开始&#xff09;…

【原】push过快的错误 (Pushing the same view controller instance more than once is not supported)...

今天在点击按钮push viewController 时&#xff0c;控制台报错&#xff1a; Terminating app due to uncaught exception NSInvalidArgumentException, reason: Pushing the same view controller instance more than once is not supported 网上查了以下原因, 是说过快点击可能…

oracle 01589,ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项

SQL> startup mountORA-32004: 指定了废弃/过时的参数ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它SQL> alter database open;alter database open*第 1 行出现错误:ORA-01122: 数据库文件 1 验证失败ORA-01110: 数据文件 1: D:\APP\ADMINISTRATOR\ORADATA\ORCL…

LeetCode 1580. 把箱子放进仓库里 II(排序)

文章目录1. 题目2. 解题1. 题目 给定两个正整数数组 boxes 和 warehouse &#xff0c;分别包含单位宽度的箱子的高度&#xff0c;以及仓库中n个房间各自的高度。 仓库的房间分别从0 到 n - 1 自左向右编号&#xff0c;warehouse[i]&#xff08;索引从 0 开始&#xff09;是第 …

oracle如何检查是否rac,Oracle RAC 状态检查

(1)srvctl status database -d dbservernameOraclezjgldb2$srvctl status database -d kms实例 kms1 正在节点 zjgldb1 上运行实例 kms2 正在节点 zjgldb2 上运行(2)crs_stat -toraclezjgldb2$crs_stat -t名称 类型 目标 状态 主机-------------…

LeetCode 1602. 找到二叉树中最近的右侧节点(BFS)

文章目录1. 题目2. 解题1. 题目 给定一棵二叉树的根节点 root 和树中的一个节点 u &#xff0c;返回与 u 所在层中距离最近的右侧节点&#xff0c;当 u 是所在层中最右侧的节点&#xff0c;返回 null 。 示例 1&#xff1a; 输入&#xff1a;root [1,2,3,null,4,5,6], u …

vue获取table一列数据_vue表格含有一列多选框,如何获取被选中的行的数据?

1.仿照element-ui官网贴出的demo&#xff0c;table表格多选&#xff0c;选择多行数据时使用 Checkbox。但是无法获取this.multipleSelection的值。相关代码如下&#xff1a;男女个人团队电话: {{ scope.row.stel }}邮箱: {{ scope.row.smail }}地址: {{ scope.row.sadd }}{{ sc…

《你的灯亮着吗》阅读笔记(三)

还有一点感触很深的就是当我们遇到问题时&#xff0c;总是想如何找到一个好的办法来解决问题&#xff0c;然而这往往是治标不治本&#xff0c;不能从根本上解决问题。 再联系我们的小项目&#xff0c;比如在我们编写代码时&#xff0c;出现了一个小BUG&#xff0c;如果我们不去…

oracle 集群 配置,Oracle集群配置

进入em 管理界面看看&#xff0c;现在可以看到已经可以在一个farm里面管理所有的instance了。接下来设置一些 session复制的信息&#xff0c;点击进入 iastest.finproduction.tplife.com 管理界面&#xff0c;然后选择 home&#xff0c;进入 oc4j的管理界面&#xff0c;接着选择…

LeetCode meituan-001. 小美的用户名

文章目录1. 题目2. 解题1. 题目 小美是美团的前端工程师&#xff0c;为了防止系统被恶意攻击&#xff0c;小美必须要在用户输入用户名之前做一个合法性检查&#xff0c;一个合法的用户名必须满足以下几个要求&#xff1a; 用户名的首字符必须是大写或者小写字母。用户名只能包…

c语言是非结构化程序语言_一个资深C语言工程师说C语言的重要性!直言道:不学C学什么?...

前言C语言属于高级程序语言的一种&#xff0c;它的前身是“ALGOL”。其创始人是布朗W卡尼汉和丹尼斯M利奇。C语言问世时是带有很大的局限性&#xff0c;因为它只能用于UNIX系统上。然而随着科学技术的进步&#xff0c;计算机工业的发展&#xff0c;C语言逐渐脱离UNIX。1987年美…

C++ const关键字总结

const是一个C语言的限定符&#xff0c;它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。另外&#xff0c;在观看别人代码的时候&#xff0c;清晰理解const所起的作用&#xff0c;对理解对方的程序也有一些帮助。 1. 修饰常量 用const修饰的变…

LeetCode 5832. 构造元素不等于两相邻元素平均值的数组

文章目录1. 题目2. 解题1. 题目 给你一个 下标从 0 开始 的数组 nums &#xff0c;数组由若干 互不相同的 整数组成。 你打算重新排列数组中的元素以满足&#xff1a;重排后&#xff0c;数组中的每个元素都 不等于 其两侧相邻元素的 平均值 。 更公式化的说法是&#xff0c;重…