99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

網易首頁 > 網易號 > 正文 申請入駐

2025-06-01:執行操作后元素的最高頻率Ⅰ。用go語言,給定一個整數數組 nums 和兩個整數 k 以及 numOpera

0
分享至

2025-06-01:執行操作后元素的最高頻率Ⅰ。用go語言,給定一個整數數組 nums 和兩個整數 k 以及 numOperations。

你需要對數組 nums 進行恰好 numOperations 次操作。每次操作的步驟如下:

  • ? 選擇一個之前沒有選擇過的下標 i。

  • ? 將 nums[i] 增加一個在區間 [-k, k] 內的任意整數。

完成所有操作后,計算數組中出現次數最多的元素出現的頻率,并返回這個最大頻率。

1 <= nums.length <= 100000。

1 <= nums[i] <= 100000。

0 <= k <= 100000。

0 <= numOperations <= nums.length。

輸入:nums = [5,11,20,20], k = 5, numOperations = 1。

輸出:2。

解釋:

通過以下操作得到最高頻率 2 :

將 nums[1] 增加 0 。

題目來自力扣3346。

關鍵觀察:

  1. 1.排序:首先將數組排序,這樣我們可以更容易地計算某個區間內的元素是否可以通過操作調整到同一個值。

  2. 2.滑動窗口:使用滑動窗口的思想來找到最長的子數組,其中所有元素可以通過最多numOperations次操作調整到同一個值。

  3. 3.操作分配:對于窗口內的元素,我們需要計算將它們調整到某個目標值(通常是窗口的右端或左端)所需的總操作次數,并確保這個總操作次數不超過numOperations的限制。

具體步驟:
  1. 1.排序數組:將nums排序,以便后續的滑動窗口處理。

  2. 2.初始化指針和變量:使用leftright指針表示滑動窗口的左右邊界,cnt用于統計當前窗口內相同元素的連續出現次數。

  3. 3.滑動窗口擴展

  • ? 對于每個元素nums[i],嘗試擴展窗口的右邊界right,使得窗口內的所有元素可以通過最多numOperations次操作調整到nums[i]

  • ? 計算將窗口內所有元素調整到nums[i]所需的總操作次數。這可以通過前綴和或累加的方式計算。

  • ? 如果總操作次數超過numOperations,則移動左邊界left以減少操作次數。

  • ? 更新最大頻率ans

4.處理連續相同元素:如果當前元素與下一個元素相同,直接跳過,因為它們已經可以貢獻頻率。

5.考慮操作限制:由于最多只能進行numOperations次操作,因此最大頻率不能超過numOperations + 1(即最多調整numOperations個元素到某個值,加上該值本身可能已經存在)。

時間復雜度和空間復雜度

  • ?時間復雜度

    • ? 排序:O(n log n),其中nnums的長度。

    • ? 滑動窗口:每個元素最多被訪問兩次(leftright指針各一次),因此是O(n)

    • ? 總時間復雜度:O(n log n)(排序主導)。

  • ?空間復雜度

    • ? 排序可能需要O(log n)的棧空間(取決于排序算法)。

    • ? 其他變量是常數空間。

    • ? 總空間復雜度:O(log n)

Go完整代碼如下:

package main import (     "fmt"     "slices" ) func maxFrequency(nums []int, k, numOperations int) (ans int) {     slices.Sort(nums)     n := len(nums)     var cnt, left, right, left2 int     for i, x := range nums {         for nums[left2] < x-k*2 {             left2++         }         ans = max(ans, min(i-left2+1, numOperations))         cnt++         // 循環直到連續相同段的末尾,這樣可以統計出 x 的出現次數         if i < n-1 && x == nums[i+1] {             continue         }         for nums[left] < x-k {             left++         }         for right < n && nums[right] <= x+k {             right++         }         ans = max(ans, min(right-left, cnt+numOperations))         cnt = 0     }     return } func main() {     nums := []int{5,11,20,20}     k := 5     numOperations := 1     result := maxFrequency(nums,k,numOperations)     fmt.Println(result) }

Python完整代碼如下:

# -*-coding:utf-8-*- from bisect import bisect_left, bisect_right defmaxFrequency(nums, k, numOperations):     nums.sort()     n = len(nums)     ans = 0     cnt = 0     left = 0     right = 0     left2 = 0          for i, x inenumerate(nums):         while left2 < n and nums[left2] < x - 2 * k:             left2 += 1         ans = max(ans, min(i - left2 + 1, numOperations))                  cnt += 1         if i < n - 1and x == nums[i + 1]:             continue                  while left < n and nums[left] < x - k:             left += 1         while right < n and nums[right] <= x + k:             right += 1                  ans = max(ans, min(right - left, cnt + numOperations))         cnt = 0              return ans if __name__ == "__main__":     nums = [5, 11, 20, 20]     k = 5     numOperations = 1     result = maxFrequency(nums, k, numOperations)     print(result)

我們相信 Go 語言和算法為普通開發者提供了強有力的“面試利器”,并致力于分享全面的編程知識。在這里,您可以找到最新的 Go 語言教程、算法解析、提升面試競爭力的秘籍以及行業動態。 歡迎關注“福大大架構師每日一題”,讓 Go 語言和算法助力您的職業發展

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
巨額虧損4.7萬億,全國地鐵大暴雷背后的秘密

巨額虧損4.7萬億,全國地鐵大暴雷背后的秘密

楓冷慕詩
2025-06-05 18:38:46
突然!東風-5參數被披露,為何美國對東風導彈無解?

突然!東風-5參數被披露,為何美國對東風導彈無解?

兵國大事
2025-06-05 00:05:15
庫克尷尬了,蘋果坐了四年“全球賺錢第一”寶座后,跌至第2名了

庫克尷尬了,蘋果坐了四年“全球賺錢第一”寶座后,跌至第2名了

互聯網.亂侃秀
2025-06-05 16:19:16
“三亞旅游被不明物咬傷身亡27歲女子”死亡記錄:曾診斷為不明生物咬傷(神經毒蛇) 等

“三亞旅游被不明物咬傷身亡27歲女子”死亡記錄:曾診斷為不明生物咬傷(神經毒蛇) 等

紅星新聞
2025-06-05 18:16:13
支付100億,波音天價和解!

支付100億,波音天價和解!

民航之翼
2025-06-05 14:04:14
近日曝光!被印軍包圍,兩名落單解放軍嘴咬手雷,誓死不當俘虜

近日曝光!被印軍包圍,兩名落單解放軍嘴咬手雷,誓死不當俘虜

軍武次位面
2025-06-05 17:36:14
沒有奇跡!國足連續6屆無緣世界杯,已空等23年,30+老將悲情謝幕

沒有奇跡!國足連續6屆無緣世界杯,已空等23年,30+老將悲情謝幕

我愛英超
2025-06-05 23:57:56
突發!杭州西子電梯總裁跳樓

突發!杭州西子電梯總裁跳樓

財通社
2025-06-05 13:39:25
三位港獨藝人妄圖內地撈金,遭遇滑鐵盧!演唱會取消,全面遭抵制

三位港獨藝人妄圖內地撈金,遭遇滑鐵盧!演唱會取消,全面遭抵制

泠泠說史
2025-06-05 15:58:14
花旗銀行大規模裁員,最高N+6,賠償太逆天!

花旗銀行大規模裁員,最高N+6,賠償太逆天!

大廠青年
2025-06-05 13:31:55
扎哈羅娃:中國留學生在美國遭歧視不要沮喪,歡迎轉學至俄羅斯

扎哈羅娃:中國留學生在美國遭歧視不要沮喪,歡迎轉學至俄羅斯

碳基生物關懷組織
2025-06-05 18:31:01
隨著薩巴倫卡2-1斯瓦泰克,法網首個決賽誕生,鄭欽文鎖定世界前5

隨著薩巴倫卡2-1斯瓦泰克,法網首個決賽誕生,鄭欽文鎖定世界前5

侃球熊弟
2025-06-05 23:31:07
中美使館一起發出預警!英國上校:俄軍將核爆四大目標逼烏軍投降

中美使館一起發出預警!英國上校:俄軍將核爆四大目標逼烏軍投降

南宗歷史
2025-06-05 16:19:50
不重組了!“東風系”集體大跌,“兵裝系”狂飆!

不重組了!“東風系”集體大跌,“兵裝系”狂飆!

證券時報
2025-06-05 13:09:30
人社部:7月31日前,勞務派遣全面整頓,派遣公司將面臨大清洗

人社部:7月31日前,勞務派遣全面整頓,派遣公司將面臨大清洗

娛樂看阿敞
2025-06-05 13:43:49
印尼考慮采購中國殲-10戰斗機,正評估性能與成本優勢

印尼考慮采購中國殲-10戰斗機,正評估性能與成本優勢

界面新聞
2025-06-05 19:27:43
畫面曝光!韓國第一夫人大選投票當晚遭記者推搡,又被攝像機砸到!本人笑了笑未指責,電視臺公開道歉

畫面曝光!韓國第一夫人大選投票當晚遭記者推搡,又被攝像機砸到!本人笑了笑未指責,電視臺公開道歉

魯中晨報
2025-06-05 18:30:04
女子被蛇咬去世后續:責任不在醫院,錯失4次活命機會,男友表態

女子被蛇咬去世后續:責任不在醫院,錯失4次活命機會,男友表態

凡知
2025-06-04 18:40:43
李在明當選韓國總統,暴露了東亞人的一個特點

李在明當選韓國總統,暴露了東亞人的一個特點

獨立寒秋看世界
2025-06-05 19:24:49
半場0-1,中國隊陷入絕境,楊澤翔送點釀苦果,世界杯夢想難了

半場0-1,中國隊陷入絕境,楊澤翔送點釀苦果,世界杯夢想難了

側身凌空斬
2025-06-05 22:38:20
2025-06-06 01:55:00
moonfdd incentive-icons
moonfdd
福大大架構師每日一題
840文章數 31關注度
往期回顧 全部

科技要聞

對話盛景網聯彭志強:跳出SaaS虧損黑洞!從“賣工具”到“賣結果”的AI RaaS轉型法則

頭條要聞

27歲女子被咬傷身亡 三亞衛健委再通報搶救全過程

頭條要聞

27歲女子被咬傷身亡 三亞衛健委再通報搶救全過程

體育要聞

提前無緣美加墨世界杯 國足眾將賽后落淚

娛樂要聞

陳赫宴請好友,李乃文攜妻子罕見亮相

財經要聞

習近平同美國總統特朗普通電話

汽車要聞

旗艦+大六座+百萬級 阿維塔全新SUV預計明年量產

態度原創

數碼
游戲
家居
健康
公開課

數碼要聞

蘋果上線2025隱私安全廣告:岳云鵬傾情回歸,守護iPhone安全防線

《馬里奧賽車世界》M站已有評測:兩家媒體給90+分

家居要聞

潔白奶油 簡約舒適之家

減重專家破解減肥九大謠言!

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 威远县| 四子王旗| 曲松县| 灵宝市| 隆安县| 阿瓦提县| 内江市| 道孚县| 斗六市| 安宁市| 清新县| 北碚区| 黄龙县| 松桃| 永济市| 梨树县| 高淳县| 张家港市| 延津县| 宜城市| 阿图什市| 洱源县| 息烽县| 峨眉山市| 堆龙德庆县| 望江县| 罗源县| 常州市| 鄱阳县| 额尔古纳市| 武平县| 海城市| 葵青区| 伊吾县| 普定县| 华安县| 襄垣县| 宾川县| 龙岩市| 平舆县| 绿春县|