LeetCode 1818. 绝对差值和(二分查找)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1818. 绝对差值和(二分查找)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 1. 題目
- 2. 解題
前三題,拼手速。最后一題暴力超時(shí)。
1. 題目
給你兩個(gè)正整數(shù)數(shù)組 nums1 和 nums2 ,數(shù)組的長(zhǎng)度都是 n 。
數(shù)組 nums1 和 nums2 的 絕對(duì)差值和 定義為所有 |nums1[i] - nums2[i]|(0 <= i < n)的 總和(下標(biāo)從 0 開(kāi)始)。
你可以選用 nums1 中的 任意一個(gè) 元素來(lái)替換 nums1 中的 至多 一個(gè)元素,以 最小化 絕對(duì)差值和。
在替換數(shù)組 nums1 中最多一個(gè)元素 之后 ,返回最小絕對(duì)差值和。
因?yàn)榇鸢缚赡芎艽?#xff0c;所以需要對(duì) 10^9 + 7 取余 后返回。
|x| 定義為:
- 如果 x >= 0 ,值為 x ,或者
- 如果 x <= 0 ,值為 -x
https://leetcode-cn.com/contest/weekly-contest-235/problems/minimum-absolute-sum-difference/
2. 解題
- 對(duì) nums1 排序,遍歷 nums2 中的數(shù)字 x
- 在 nums1 中二分查找 x 前后的數(shù)字,記錄最小差值,和 最大的和 的下降量
420 ms 101.7 MB C++
我的CSDN博客地址 https://michael.blog.csdn.net/
長(zhǎng)按或掃碼關(guān)注我的公眾號(hào)(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!
總結(jié)
以上是生活随笔為你收集整理的LeetCode 1818. 绝对差值和(二分查找)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode 1897. 重新分配字
- 下一篇: LeetCode 1925. 统计平方和