Fruit Inventory Analysis


Submit solution

Points: 10 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem types

題目說明

請撰寫一個 Java 程式,用於分析使用者輸入的水果資料。程式應能處理一系列水果名稱,然後根據使用者指定的範圍,統計該範圍內各水果的出現次數,並按照水果在整個清單首次出現的順序,輸出結果。

程式中只需使用 ArrayListHashMapHashSet 這些資料結構(不一定要全部使用)不需要使用任何排序演算法。 由於只會出現恰好 10 個水果,因此不需考慮時間複雜度與空間複雜度。最終程式碼約在30行內(不含註解與空白行)。

輸入格式規範

輸入分為兩部分:

    1. 水果名稱: 程式啟動後,使用者將會連續輸入 10 行水果名稱。每個水果名稱都是一個單字字串。
    1. 範圍索引: 在輸入完 10 個水果名稱後,使用者將會連續輸入兩行數字。第一行是起始索引(0-based index),第二行是結束索引(0-based index)。測試資料只會使用合法範圍的索引,也就是最小為0,最大為9。
範例輸入 #1
Banana
Apple
Banana
Apple
Orange
Banana
Apple
Grape
Mango
Apple
1
4

輸出格式規範

輸出應為多行,每行包含一個水果名稱及其在指定範圍內的出現次數,兩者之間以一個空格分隔。只有在指定範圍內有出現的水果才需要被輸出。

輸出順序必須依照水果在整個輸入序列中首次出現的順序不是查詢範圍內的出現順序

範例輸出 #1 (對應範例輸入 #1)
Banana 1
Apple 2
Orange 1

(說明:在範圍 1 到 4 有 Apple, Banana, Apple, Orange,對於這些水果,Banana在整個序列中第一次出現是在位置0,Apple在整個序列中第一次出現是在位置1,Orange在整個序列中第一次出現是在位置4。因此依序輸出。)

範例輸入 #2
Orange
Apple
Banana
Apple
Orange
Banana
Apple
Grape
Mango
Orange
3
6
範例輸出 #2
Orange 1
Apple 2
Banana 1

(說明:在範圍 3 到 6 有 Apple, Orange, Banana, Apple,對於這些水果,Orange在整個序列中第一次出現是在位置0,Apple在整個序列中第一次出現是在位置1,Banana在整個序列中第一次出現是在位置2。因此依序輸出。)


Comments

There are no comments at the moment.