Re: [閒聊] 每日leetcode

看板Marginalman作者 (早瀬ユウカの体操服 )時間9月前 (2025/02/25 22:34), 編輯推噓1(100)
留言1則, 1人參與, 9月前最新討論串1348/1552 (看更多)
https://leetcode.com/problems/number-of-sub-arrays-with-odd-sum 1524. Number of Sub-arrays With Odd Sum 給你一個陣列,求出共有幾個子陣列和為奇數,因為數字很大所以要模10^9+7。 思路: 假設初始陣列為 [1] 我們加入一個數字5之後會產生 [1,5],[5]兩個子陣列,再加入 一個數字7之後會產生 [1,5,7],[5,7],[7],我們可以發現就是在原先的陣列後面附加 一個數字,所以我們只要統計"當前所有的子陣列共有幾個奇數和/偶數和"然後每次更 新的時候,透過當前的數是奇數還是偶數更新奇偶的數量: (奇+奇=偶, 偶+奇=奇, 奇+奇=偶, 偶+偶=偶) 把過程中的奇數和子陣列數量相加即可。 java code: ------------------------------------------------- class Solution { final int MOD = (int) 1e9 + 7; public int numOfSubarrays(int[] nums) { int res = 0; int odd = 0; int even = 0; for (int num : nums) { if (num % 2 == 0) { even = even + 1; } else { int tmp = odd; odd = even + 1; even = tmp; } res = (res + odd) % MOD; } return res; } } ------------------------------------------------- -- https://i.imgur.com/yRXNquY.jpeg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.158.101.161 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1740494080.A.70B.html

02/25 23:16, 9月前 , 1F
大師
02/25 23:16, 1F
文章代碼(AID): #1dlTK0SB (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1dlTK0SB (Marginalman)