LeetCode 1121. 将数组分成几个递增序列
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1121. 将数组分成几个递增序列
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
給你一個(gè) 非遞減 的正整數(shù)數(shù)組 nums 和整數(shù) K,判斷該數(shù)組是否可以被分成一個(gè)或幾個(gè) 長度至少 為 K 的 不相交的遞增子序列。
示例 1: 輸入:nums = [1,2,2,3,3,4,4], K = 3 輸出:true 解釋: 該數(shù)組可以分成兩個(gè)子序列 [1,2,3,4] 和 [2,3,4], 每個(gè)子序列的長度都至少是 3。示例 2: 輸入:nums = [5,6,6,7,8], K = 3 輸出:false 解釋: 沒有辦法根據(jù)條件來劃分?jǐn)?shù)組。提示: 1 <= nums.length <= 10^5 1 <= K <= nums.length 1 <= nums[i] <= 10^5來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/divide-array-into-increasing-sequences
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
2. 解題
- 題目要求每個(gè)子序列嚴(yán)格遞增,所以每個(gè)子序列里沒有相同的值
- 找出數(shù)組里出現(xiàn)次數(shù)最多的,c 次,這個(gè)數(shù)分給 c 個(gè)子序列
- 每個(gè)子序列長度至少為 K,那么必須滿足 c?K<=nc*K <= nc?K<=n 數(shù)組長度
584 ms 103.7 MB
- 數(shù)組有序,不需要哈希map計(jì)數(shù),見官方答案
284 ms 69.2 MB
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關(guān)注我的公眾號(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!
總結(jié)
以上是生活随笔為你收集整理的LeetCode 1121. 将数组分成几个递增序列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ACwing 2. 01背包问题(DP)
- 下一篇: LeetCode 632. 最小区间(排