Re: [閒聊] 每日leetcode
https://leetcode.com/problems/minimum-equal-sum-of-two-arrays-after-replacing-zeros
2918. Minimum Equal Sum of Two Arrays After Replacing Zeros
給你兩個陣列,你要把陣列的所有0替換成一個大於0的正整數,並且使兩個陣列的和相等
,求出這個和最小多少。
思路:
1.用貪婪做,0表示可以替換的格子,最小為1,可以分別得到nums1和nums2的最小和
,取這兩個最小和裡面最大的就好(小的可以增加格子的數字變成大的)。
2.如果某個陣列沒0又比另一個陣列的最小和小返回-1。
Java Code:
--------------------------------------------
class Solution {
public long minSum(int[] nums1, int[] nums2) {
long sum1 = 0, sum2 = 0;
int count1 = 0, count2 = 0;
for (int num : nums1) {
sum1 += num;
if (num == 0) {
count1++;
}
}
for (int num : nums2) {
sum2 += num;
if (num == 0) {
count2++;
}
}
long min1 = sum1 + count1;
long min2 = sum2 + count2;
if (min1 > sum2 && count2 == 0) {
return -1;
}
if (min2 > sum1 && count1 == 0) {
return -1;
}
return Math.max(min1, min2);
}
}
--------------------------------------------
--
https://i.imgur.com/O931L58.jpeg

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.159.104.111 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1746868995.A.EDA.html
推
05/10 17:24,
7月前
, 1F
05/10 17:24, 1F
→
05/10 17:24,
7月前
, 2F
05/10 17:24, 2F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1423 之 1548 篇):