真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

無盡算法之用戶編組-創(chuàng)新互聯(lián)

有 n 位用戶參加活動(dòng),他們的 ID 從 0 到 n - 1,每位用戶都 恰好 屬于某一用戶組。給你一個(gè)長(zhǎng)度為 n 的數(shù)組 groupSizes,其中包含每位用戶所處的用戶組的大小,請(qǐng)你返回用戶分組情況(存在的用戶組以及每個(gè)組中用戶的 ID)。

站在用戶的角度思考問題,與客戶深入溝通,找到建鄴網(wǎng)站設(shè)計(jì)與建鄴網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋建鄴地區(qū)。

?

你可以任何順序返回解決方案,ID 的順序也不受限制。此外,題目給出的數(shù)據(jù)保證至少存在一種解決方案。

?

示例 1:

輸入:groupSizes = [ 3, 3, 3, 3, 3, 1, 3 ]

輸出:[ [ 5 ], [ 0, 1, 2 ] , [ 3, 4, 6 ] ]

?

其他可能的解決方案有

[ [ 2, 1, 6 ], [ 5 ], [ 0, 4, 3] ]

[ [ 5 ], [ 0, 6, 2 ] ,[ 4, 3, 1 ] ]。

?

示例 2:

輸入:groupSizes = [ 2, 1, 3, 3, 3, 2 ]

輸出:[ [ 1 ], [ 0, 5 ], [ 2, 3, 4 ] ]

?

提示:

groupSizes.length == n

1 <= n <= 500

1 <= groupSizes[i] <= n

?

思路:

使用Hashmap

以groupSize為key, 以ArrayList(ArrayList())為value, 這里存放的Integer就是userId(也就是數(shù)組index)

插入策略:

先判斷是否有key,無key則直接生成新的ArrayList(ArrayList()), 并且添加一個(gè)子ArrayList, 同時(shí)插入userId

有key再判斷取出的ArrayList內(nèi)部的最后一個(gè)ArrayList長(zhǎng)度是否等于對(duì)應(yīng)的groupSize, 如果相等, 則追加到新組, 否則追加

題解:

public class Test {

????public static void main(String[] args) {

????????System.out.println(groupThePeople(new int[]{3,3,3,3,1,3,3}));

????}

?

????private static HashMap resultMap = new HashMap<>();

?

????public static List> groupThePeople(int[] groupSizes) {

????????ArrayList> results = new ArrayList<>();

????function(){ //點(diǎn)差?/tupian/20230521/ppspan >????????for (int i=0;i

????????????add(i,groupSizes[i]);

????????}

????????for (ArrayList i : resultMap.values()) {

????????????results.addAll(i);

????????}

????????return results;

????}

?

????static void ?add(int id, int groupSize) {

????????if (resultMap.get(groupSize) == null) {

????????????ArrayList> groupList = new ArrayList<>();

????????????List group=new ArrayList<>();

????????????group.add(id);

????????????groupList.add(group);

????????????resultMap.put(groupSize, groupList);

????????} else {

????????????ArrayList> a = resultMap.get(groupSize);

????????????if (a.get(a.size() - 1).size() == groupSize ) {

????????????????List group=new ArrayList<>();

????????????????group.add(id);

????????????????a.add(group);

????????????} else {

????????????????a.get(a.size() - 1).add(id);

????????????}

????????}

????}

}

?


文章題目:無盡算法之用戶編組-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://weahome.cn/article/dppeih.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部