Re: Leetcode Weekly Contest 434

作者: JIWP (JIWP)   2025-01-28 18:05:05
Weekly Contest 434
Q1 不會
Q2 3433. Count Mentions Per User
思路:
把event按照timestamp的順序排列,如果timestamp相同OFFLINE要先處理
用onlineTimeOfUser來記錄每個user要過哪個時間後才會上線
接著就照每個event去處理並且記錄每個user被提到幾次
Q3 3434. Maximum Frequency After Subarray Operation
先簡化問題
如果我們想知道把nums中某個subarray的a變k後,可以得到最多幾個k?
對於上面的問題
首先計算nums裡k出現的次數 : k_cnt
用一個delta來記錄a跟k出現次數的差值
當出現a : delta + 1 、 出現k : delta - 1
min_delta : 紀錄最小的delta值
max_delta : 記錄某個區間內最大的delta值
max_delta = max(delta - min_delta, maxdelta)
然後答案就會是 k_cnt + max_delta
接著把a從1~50都做一遍,最大的那個就是答案
golang code :
func maxFrequency(nums []int, k int) int {
k_cnt, ans := 0, 0
for _, val := range nums {
if val == k {
k_cnt++
}
}
ans = k_cnt
for i := 0; i < 51; i++ {
if i != k {
delta, min_delta, max_delta := 0, 0, 0
for _, val := range nums {
if val == k {
delta

Links booklink

Contact Us: admin [ a t ] ucptt.com