2018春招Java程式設計題

2021-08-24 20:47:57 字數 1455 閱讀 8727

題目描述

在小紅家裡面,有n組開關,觸控每個開關,可以使得一組燈泡點亮。

現在問你,使用這n組開關,最多能夠使得多少個燈泡點亮呢?

輸入第一行乙個n,表示有n組開關。接下來n行,每行第乙個整數為k,

表示這個開關控制k個燈泡,接下來k個整數,表示控制的燈泡序號。

滿足:1<=n<=1000 、1<=k<=1000 、序號是在int範圍內正整數。

輸出輸出最多多少個燈泡點亮。

樣例輸入

31 1

1 22 1 2

樣例輸出

2這道題是乙個去重的問題,即多個開關可能按下都使同乙個開關亮,

那麼可以利用hashset去重。

public class main

}system.out.println(set.size());

}}

題目描述

在乙個家庭中,每位成員都有手機。這家戶主維護一棵家族樹,樹的每個節點代表一位家庭成員,每個節點的值代表他她所擁有的手機數量,戶主作為這棵樹的根。戶主想要找到同一代家庭成員所擁有手機的最大數量。屬於樹中同一級的所有成員都被視為同一代。

編寫乙個演算法,求出同一代家庭成員所擁有手機的最大數量。

輸入函式/方法的輸入包含乙個引數familyroot,表示家族樹的根。

輸出返回表示同一代家庭成員所擁有手機的最大數量的整數。

限制條件

0 <= n <= 10^5;其中n表示節點數.

0 <= m <= 10^3;其中m表示同一代人所擁有的手機數

請注意每個節點最多有100個子節點。

示例 10

/ \

11 10

/ \ / \

2 3 1 5

輸出:21

說期第1步:第1、2和3級的總和分別是10, 21和11。

第2步:第2級的最大總和是21.因此輸出為21。

因此輸出為21。

分析:對層次遍歷的改造、層次遍歷只能保證訪問的順序是由上到下的層次的,

因此必須對每層進行單獨的遍歷以求其最大和

//儲存每層的節點與個數,用於累加

class laynode

}//求最大的層

int maxlevelsum(narynode proot)

queuequeue = new linkedlist<>();

int max = 0;

int maxsum = 0;

int start = 0;

int end = 1;

queue.add(proot);

while (!queue.isempty())

}//判斷本層是否完成

if (start == end)

max = 0;}}

return maxsum;

}

2018 美團 春招實習程式設計題 2

題目 給定 0 9 組成的字串,各字元出現的次數不定,求由字串不能組成的最小正整數。分析 package 實習面試筆試題 public class 美團筆試題 求最小不能組成的正整數 private static int getmaxnum string str 統計出現次數最小的 int mini...

2018美團點評春招C 試卷程式設計題

美團點評 2018 春招後台開發方向試卷 程式設計題 30.0分1 2 字串距離 時間限制 c c 語言2000ms 其他語言 4000ms 記憶體限制 c c 語言65536kb 其他語言 589824kb 題目描述 給出兩個相同長度的由字元a 和 b 構成的字串,定義它們的距離為對應位置不同的字...

2018騰訊春招技術崗面試程式設計題

題目描述 小q有x首長度為a的不同的歌和y首長度為b的不同的歌,現在小q想用這些歌組成乙個總長度正好為k的歌單,每首歌最多只能在歌單 現一次,在不考慮歌單內歌曲的先後順序的情況下,請問有多少種組成歌單的方法。輸入描述 每個輸入包含乙個測試用例。每個測試用例的第一行包含乙個整數,表示歌單的總長度k 1...