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