最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

2023-07-15:給你一個 非遞減 的正整數(shù)數(shù)組 nums 和整數(shù) K, 判斷該數(shù)組是否可以被分

2023-07-15 22:08 作者:福大大架構師每日一題  | 我要投稿

2023-07-15:給你一個 非遞減 的正整數(shù)數(shù)組 nums 和整數(shù) K,

判斷該數(shù)組是否可以被分成一個或幾個 長度至少 為 K 的 不相交的遞增子序列。

輸入:nums = [1,2,2,3,3,4,4], K = 3。

輸出:true。

答案2023-07-15:

大體步驟如下:

1.初始化計數(shù)變量?cnt?和最大計數(shù)變量?maxCnt,初始值都為 1。

2.從索引 1 開始遍歷數(shù)組?nums

  • ??如果?nums[i-1]?不等于?nums[i],說明遇到了一個新的遞增序列,更新?maxCnt?為之前的計數(shù)?cnt?和?maxCnt?中的較大值,并將?cnt?重置為 1。

  • ??否則,遞增序列繼續(xù),將?cnt?自增 1。

3.遍歷結束后,再次更新?maxCnt?為最后一個遞增序列的計數(shù)?cnt?和?maxCnt?中的較大值。

4.判斷長度為?len(nums)?除以?maxCnt?后是否大于等于?k,如果是,返回?true;否則,返回?false。

5.在?main?函數(shù)中,定義數(shù)組?nums?和整數(shù)?k

6.調(diào)用函數(shù)?canDivideIntoSubsequences(nums, k)?并將結果賦給變量?result。

7.輸出結果?Result: true。

時間復雜度: 遍歷數(shù)組?nums?的時間復雜度為 O(n),其中 n 是數(shù)組?nums?的長度。 因此,整個算法的時間復雜度為 O(n)。

空間復雜度: 算法使用了常數(shù)級別的額外空間,不隨輸入規(guī)模變化,所以空間復雜度為 O(1)。

go完整代碼如下:

package?main

import?(
????"fmt"
)

func?canDivideIntoSubsequences(nums?[]int,?k?int)?bool?{
????cnt?:=?1
????maxCnt?:=?1

????for?i?:=?1;?i?<?len(nums);?i++?{
????????if?nums[i-1]?!=?nums[i]?{
????????????maxCnt?=?max(maxCnt,?cnt)
????????????cnt?=?1
????????}?else?{
????????????cnt++
????????}
????}

????maxCnt?=?max(maxCnt,?cnt)
????return?len(nums)/maxCnt?>=?k
}

func?max(a,?b?int)?int?{
????if?a?>?b?{
????????return?a
????}
????return?b
}

func?main()?{
????nums?:=?[]int{1,?2,?2,?3,?3,?4,?4}
????k?:=?3

????result?:=?canDivideIntoSubsequences(nums,?k)
????fmt.Println("Result:",?result)
}

在這里插入圖片描述

rust完整代碼如下:

fn?can_divide_into_subsequences(nums:?&[i32],?k:?i32)?->?bool?{
????let?mut?cnt?=?1;
????let?mut?max_cnt?=?1;

????for?i?in?1..nums.len()?{
????????if?nums[i?-?1]?!=?nums[i]?{
????????????max_cnt?=?max_cnt.max(cnt);
????????????cnt?=?1;
????????}?else?{
????????????cnt?+=?1;
????????}
????}

????max_cnt?=?max_cnt.max(cnt);
????nums.len()?as?i32?/?max_cnt?>=?k
}

fn?main()?{
????let?nums?=?vec![1,?2,?2,?3,?3,?4,?4];
????let?k?=?3;

????let?result?=?can_divide_into_subsequences(&nums,?k);
????println!("Result:?{}",?result);
}

在這里插入圖片描述

c++完整代碼如下:

#include?<iostream>
#include?<vector>
#include?<algorithm>

using?namespace?std;

bool?canDivideIntoSubsequences(vector<int>&?nums,?int?k)?{
????int?cnt?=?1;
????int?maxCnt?=?1;

????for?(int?i?=?1;?i?<?nums.size();?i++)?{
????????if?(nums[i?-?1]?!=?nums[i])?{
????????????maxCnt?=?max(maxCnt,?cnt);
????????????cnt?=?1;
????????}
????????else?{
????????????cnt++;
????????}
????}

????maxCnt?=?max(maxCnt,?cnt);
????return?nums.size()?/?maxCnt?>=?k;
}

int?main()?{
????vector<int>?nums?=?{?1,?2,?2,?3,?3,?4,?4?};
????int?k?=?3;

????bool?result?=?canDivideIntoSubsequences(nums,?k);
????cout?<<?"Result:?"?<<?boolalpha?<<?result?<<?endl;

????return?0;
}

在這里插入圖片描述

c完整代碼如下:

#include?<stdio.h>

int?canDivideIntoSubsequences(int?nums[],?int?length,?int?k)?{
????int?cnt?=?1;
????int?maxCnt?=?1;

????for?(int?i?=?1;?i?<?length;?i++)?{
????????if?(nums[i?-?1]?!=?nums[i])?{
????????????if?(maxCnt?<?cnt)?{
????????????????maxCnt?=?cnt;
????????????}
????????????cnt?=?1;
????????}
????????else?{
????????????cnt++;
????????}
????}

????if?(maxCnt?<?cnt)?{
????????maxCnt?=?cnt;
????}

????return?(length?/?maxCnt)?>=?k;
}

int?main()?{
????int?nums[]?=?{?1,?2,?2,?3,?3,?4,?4?};
????int?length?=?sizeof(nums)?/?sizeof(nums[0]);
????int?k?=?3;

????int?result?=?canDivideIntoSubsequences(nums,?length,?k);
????printf("Result:?%s\n",?result???"true"?:?"false");

????return?0;
}

在這里插入圖片描述


2023-07-15:給你一個 非遞減 的正整數(shù)數(shù)組 nums 和整數(shù) K, 判斷該數(shù)組是否可以被分的評論 (共 條)

分享到微博請遵守國家法律
成武县| 固原市| 临澧县| 商南县| 二连浩特市| 辽源市| 阳朔县| 雅江县| 高邑县| 江北区| 德庆县| 冕宁县| 杭锦后旗| 米林县| 株洲市| 安国市| 北辰区| 新源县| 错那县| 永川市| 汉寿县| 河间市| 多伦县| 桃江县| 乐安县| 大港区| 武乡县| 崇义县| 夏邑县| 营山县| 蕉岭县| 西城区| 工布江达县| 江口县| 南宁市| 肥城市| 博野县| 古田县| 孝感市| 阿尔山市| 恩平市|