輸入一段字串,期望輸出字串中只出現過一次的單詞(distinct words)。
規定每個單詞不能長於10個字母,比如出現abcdefghijklm則分為兩個單詞abcdefghij和klm處理。此外,不同的單詞不會超過1000個。
**如下,執行不出來結果。
看了半天不知道問題出現在**,求大佬幫助,,,
#include
#include
#include
#include
#define maxchars 10
#define maxwords 1000
intgetword
(char w,
int limit)
if(c ==
eof)
w[len++
]= c;
while
(len < limit &&
(c =
getchar()
)!=eof&&
isalpha
(c))
w[len]
='\0'
;return0;
}typedef
char word_t[maxchars+1]
;int
getword
(word_t w,
int limit)
;int
main()
if(!found && numdistinct < maxwords)
}printf
("%d words read\n"
,totwords)
;for
(i=0
;i)return0;
}
找出陣列中只出現過一次的數
乙個大陣列,在1到25000之間,只有4k memory,列印出其中正好只出現過一次的數。沒出現過,出現過2次,3次,或更多,都不列印。solutions 1 位圖法,但每個數有3個狀態 0,1,1.因此需要2 bit,25000 2 8 1024 6.1k,記憶體占用符合要求。2 壓縮,解法1中,...
只出現一次的數字
1.乙個整型陣列,有乙個數字出現一次,其餘數字出現兩次,找出這個只出現一次的數字。解題思路 異或運算性質 兩個相同的數字異或得0,0與乙個數字異或得數字本身,而且異或運算是滿足交換律的 陣列元素按位異或,交換律可以想象成相同的數字參與運算的時候是相鄰的 所有出現兩次的數字異或之後得0,最後剩餘的是0...
只出現一次的數
給定乙個整數陣列 nums,其中恰好有兩個元素只出現一次,其他所有元素均出現兩次。找出只出現一次的那兩個元素。示例 給定 nums 1,2,1,3,2,5 返回 3,5 注意 結果的順序並不重要,對於上面的例子 5,3 也是正確答案。你的演算法應該具有線性複雜度,你能否僅使用恆定的空間複雜度來實現它...