iT邦幫忙

0

想超久都解不出來,請各位大大幫幫忙(以c++為主)

使用者輸入一個數字N,代表接下來要輸入的陣列元素個數。當使用者逐一輸入陣列元素的內容後,請找出來在整個陣列中僅出現過一次的元素內容(其排列按照元素出現於陣列中的順序)。

輸入範例:
8
2
4
1
1
3
0
2
1

輸出範例:
4
3
0

dragonH iT邦超人 5 級 ‧ 2020-08-30 17:47:34 檢舉
網頁好像怪怪的 我只有看到你貼的題目而已
5
海綿寶寶
iT邦大神 1 級 ‧ 2020-08-30 18:19:43

我想都沒想
就去Google了這個解答(個人推薦 method-2)
/images/emoticon/emoticon13.gif

hylin iT邦新手 5 級 ‧ 2020-08-31 21:57:21 檢舉

/images/emoticon/emoticon08.gif

3
froce
iT邦大師 1 級 ‧ 2020-08-30 18:52:07

python。

from collections import Counter
n = int(input("請輸入陣列元素數量:"))

lst = []
for i in range(n):
    lst.append(input("請輸入元素(剩下{}個):".format(n-i)))

c = Counter(lst)
print(list(filter(lambda x: c.get(x) == 1, c)))

像這種作業題我一向不會給別人要的語言的...科科

HoiDam iT邦新手 5 級 ‧ 2020-08-31 09:51:01 檢舉

可能他預判了你會這樣回
然後他就問C++的

hylin iT邦新手 5 級 ‧ 2020-08-31 21:55:33 檢舉

哈哈哈

5
一級屠豬士
iT邦大師 1 級 ‧ 2020-08-30 19:38:38
有些問題只要會用SQL, 題目的要求,就是對應的語法.

create table it200830 (
  id tinyint unsigned not null auto_increment primary key
, val tinyint unsigned not null
);

insert into it200830(val) values
(2),(4),(1),(1),(3),(0),(2),(1);

select a.val
  from (select val
             , count(val)
             , min(id) minid
          from it200830
         group by val
        having count(val) = 1) a
 order by a.minid;

+-----+
| val |
+-----+
|   4 |
|   3 |
|   0 |
+-----+
3 rows in set (0.01 sec)

看更多先前的回應...收起先前的回應...

我要按個「沒有幫助」
/images/emoticon/emoticon39.gif

哈哈! 是不是還要加個 哪來的自信. 嘿嘿.

HoiDam iT邦新手 5 級 ‧ 2020-08-31 09:52:01
【**此則訊息已被站方移除**】

/images/emoticon/emoticon62.gif

6
richardsuma
iT邦大師 1 級 ‧ 2020-08-31 00:31:19

想超久或想不出來都沒關係,重點你做了什麼,我們看不到?
你有想過別人為什麼要給你答案嗎? 你做了什麼值得大家給你答案,
或是你付出了什麼?
給你答案是直接害了你,因為太容易取得的東西就會變得不珍惜,
你不知道這些前輩可能為了解出一個問題,夜以繼日不眠不休的苦思,
才有今天解答的功力。

如果你想很久,畫流程圖總會吧? 當你畫出流程圖,程式也就出來了。
努力試試看吧!

0
andy1997
iT邦新手 5 級 ‧ 2020-09-03 10:45:26

hash table

我要發表回答

立即登入回答