From 8ad071fec049522bee695373fe4337f0ee19763b Mon Sep 17 00:00:00 2001 From: Cool <747682928@qq.com> Date: Mon, 21 Oct 2024 21:02:09 +0800 Subject: [PATCH] =?UTF-8?q?2024/10/21=20=E7=81=B5=E8=8C=B6=E9=A2=98?= =?UTF-8?q?=E5=8D=95=20=E4=B8=8D=E5=AE=9A=E9=95=BF=E6=BB=91=E5=8A=A8?= =?UTF-8?q?=E7=AA=97=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sliding_windows/Num1695.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/main/java/com/cool/ling_cha_mount/sliding_windows/Num1695.java diff --git a/src/main/java/com/cool/ling_cha_mount/sliding_windows/Num1695.java b/src/main/java/com/cool/ling_cha_mount/sliding_windows/Num1695.java new file mode 100644 index 0000000..76f41a4 --- /dev/null +++ b/src/main/java/com/cool/ling_cha_mount/sliding_windows/Num1695.java @@ -0,0 +1,32 @@ +package com.cool.ling_cha_mount.sliding_windows; + +/** + * Created with IntelliJ IDEA. + * + * @Author: Cool + * @Date: 2024/10/21/14:51 + * @Description: 1695. 删除子数组的最大得分 + * Score 1529 + */ +public class Num1695 { + public int maximumUniqueSubarray(int[] nums) { + int res = 0; + int sum = 0; + int[] arr = new int[10001]; + int left = 0; + for (int i = 0; i < nums.length; i++) { + if (++arr[nums[i]] > 1) { + res = Math.max(res, sum); + while (true) { + sum -= nums[left]; + --arr[nums[left]]; + if (nums[left++] == nums[i]) { + break; + } + } + } + sum += nums[i]; + } + return Math.max(res, sum); + } +}