From f0d53cc2be232a1203610726f05e5282dc48ecd7 Mon Sep 17 00:00:00 2001 From: Cool <747682928@qq.com> Date: Mon, 14 Oct 2024 11:10:53 +0800 Subject: [PATCH] =?UTF-8?q?2024/10/14=20=E7=81=B5=E8=8C=B6=E9=A2=98?= =?UTF-8?q?=E5=8D=95=20=E6=BB=91=E5=8A=A8=E7=AA=97=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sliding_windows/Num2134.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/main/java/com/cool/ling_cha_mount/sliding_windows/Num2134.java diff --git a/src/main/java/com/cool/ling_cha_mount/sliding_windows/Num2134.java b/src/main/java/com/cool/ling_cha_mount/sliding_windows/Num2134.java new file mode 100644 index 0000000..58e004b --- /dev/null +++ b/src/main/java/com/cool/ling_cha_mount/sliding_windows/Num2134.java @@ -0,0 +1,37 @@ +package com.cool.ling_cha_mount.sliding_windows; + +/** + * Created with IntelliJ IDEA. + * + * @Author: Cool + * @Date: 2024/10/14/11:10 + * @Description: 2134. 最少交换次数来组合所有的 1 II + * Level 4 + * Hard 2 + * Score 1748 + */ +public class Num2134 { + + public int minSwaps(int[] nums) { + int count = 0; + for (int num : nums) { + count += num; + } + int num = 0; + for (int i = 0; i < count; i++) { + num += nums[i]; + } + int res = num; + for (int i = 0; i < nums.length; i++) { + num -= nums[i]; + int right = i + count; + if (right >= nums.length) { + right -= nums.length; + } + num += nums[right]; + res = Math.max(res, num); + } + return count - res; + } + +}