PAT A1084 舊鍵盤 雜湊或者雙指標解法

2021-09-27 01:32:25 字數 576 閱讀 1717

題目鏈結

《演算法筆記》上面給的方法很簡單,用雜湊,

如下:

#include

#include

intmain()

;scanf

("%s %s"

,str1,str2)

;int len1=

strlen

(str1)

;int len2=

strlen

(str2)

;for

(int i=

0; iif(j==len2 && hash[str1[i]]==

0)}}

但我第一反應是用雙指標,而不是遍歷第二個陣列,如下:

#include

#include

intmain()

else}if

(j==count)}}

printf

("%s"

,ans)

;}

但是這個演算法並不好,首先思路有點複雜,其次有時候不能通過最後乙個資料(很神奇),但大部分情況下可以通過所有資料。

PAT A 1033 舊鍵盤打字

舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字 以及壞掉的那些鍵,打出的結果文字會是怎樣?輸入格式 輸入在2行中分別給出壞掉的那些鍵 以及應該輸入的文字。其中對應英文本母的壞鍵以大寫給出 每段文字是不超過105個字元的串。可用的字元包括字母 a z,a ...

雜湊 PAT B1029 舊鍵盤

題意 舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字 以及實際被輸入的文字,請你列出肯定壞掉的那些鍵。樣例 inpute 7 this is a test hs s a es output 7ti include include include incl...

PAT 乙級 1029 舊鍵盤(雜湊表)

1029 舊鍵盤 20 20 分 舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字 以及實際被輸入的文字,請你列出肯定壞掉的那些鍵。輸入格式 輸入在2行中分別給出應該輸入的文字 以及實際被輸入的文字。每段文字是不超過80個字元的串,由字母a z 包括大 小...