★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-ysepeiji-kw.html
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html
Given a non-decreasing array of positive integers nums
and an integer K
, find out if this array can be divided into one or more disjoint increasing subsequences of length at least K
. git
Example 1:github
Input: nums = [1,2,2,3,3,4,4], K = 3 Output: true Explanation: The array can be divided into the two subsequences [1,2,3,4] and [2,3,4] with lengths at least 3 each.
Example 2:數組
Input: nums = [5,6,6,7,8], K = 3 Output: false Explanation: There is no way to divide the array using the conditions required.
Note:微信
1 <= nums.length <= 10^5
1 <= K <= nums.length
1 <= nums[i] <= 10^5
給你一個 非遞減 的正整數數組 nums
和整數 K
,判斷該數組是否能夠被分紅一個或幾個 長度至少 爲 K
的 不相交的遞增子序列。 ide
示例 1:ui
輸入:nums = [1,2,2,3,3,4,4], K = 3 輸出:true 解釋: 該數組能夠分紅兩個子序列 [1,2,3,4] 和 [2,3,4],每一個子序列的長度都至少是 3。
示例 2:this
輸入:nums = [5,6,6,7,8], K = 3 輸出:false 解釋: 沒有辦法根據條件來劃分數組。
提示:spa
1 <= nums.length <= 10^5
1 <= K <= nums.length
1 <= nums[i] <= 10^5
2228mscode
1 class Solution { 2 func canDivideIntoSubsequences(_ nums: [Int], _ K: Int) -> Bool { 3 var cal:Int = 0 4 var a:[Int:Int] = [Int:Int]() 5 for i in 0..<nums.count 6 { 7 a[nums[i],default:0] += 1 8 if cal < a[nums[i],default:0] 9 { 10 cal = a[nums[i],default:0] 11 } 12 } 13 return cal * K <= nums.count 14 } 15 }