From fb53c164a8eda11c1d87d4a15064e275aa0cfc48 Mon Sep 17 00:00:00 2001 From: li-chx Date: Thu, 31 Jul 2025 11:47:40 +0800 Subject: [PATCH] =?UTF-8?q?2683.=20=E7=9B=B8=E9=82=BB=E5=80=BC=E7=9A=84?= =?UTF-8?q?=E6=8C=89=E4=BD=8D=E5=BC=82=E6=88=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.rs | 33 ++++++++------------------------- 1 file changed, 8 insertions(+), 25 deletions(-) diff --git a/src/main.rs b/src/main.rs index efcba29..e09a05a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,35 +2,18 @@ use std::cmp::max; struct Solution; impl Solution { - pub fn longest_subarray(nums: Vec) -> i32 { - let mut ans = 0; - let mut ans_val = 0; - let mut last = 0; - let mut count = 0; - for i in 0..nums.len() { - if nums[i] != last { - if ans_val < last { - ans_val = last; - ans = count; - }else if ans_val == last { - ans = max(count,ans); - } - last = nums[i]; - count = 1; - } else { - count += 1; - } + pub fn does_valid_array_exist(derived: Vec) -> bool { + let mut a = 0; + let mut b = 1; + for i in derived.iter() { + a ^= i; + b ^= i; } - if ans_val < last { - ans = count; - }else if ans_val == last { - ans = max(count,ans); - } - ans + a == 0 || b == 1 } } fn main() { - let sl = Solution::longest_subarray(vec![96317,96317,96317,96317,96317,96317,96317,96317,96317,279979]); + let sl = Solution::does_valid_array_exist(vec![1,1,0]); println!("{:?}", sl); }