元宵節後第一發 資料決定程式結構

2022-07-03 08:45:13 字數 977 閱讀 3383

放假回家好久沒寫**了

題目描述

實現乙個演算法,確定乙個字串的所有字元是否全都不同。這裡我們要求不允許使用額外的儲存結構。

給定乙個string inistring,請返回乙個bool值,true代表所有字元全都不同,false代表存在相同的字元。

保證字串中的字元為ascii字元。字串的長度小於等於3000。

/** 解題思路

* 1:可以用位圖來做,由於是accii碼,所以字元取值範圍為0~255,只需建立乙個256的整形陣列掃瞄一遍前256個字元然後對字元

* 所對應的整形值+1即可,然後再掃一遍整形陣列,有》2的值就返回false,否則返回true(但是本體不允許用額外儲存空間)

** 2:雙重掃瞄(由於本題不允許有額外的儲存空間),但是只要掃瞄前256個字元即可(鴿巢原理)

** 3:排序:如果不限定accii碼可以用排序做o(nlogn)的時間複雜度

* * 其他大神的比較好的思路:

* parition基於快速排序的partition,可以邊排序邊找重複,也即是每次partition之後,

* 判斷中間key元素與兩邊元素是否相同,相同則返回false,不同再進行下一輪partition.

* 時間複雜度也是o(nlongn)。

*/附帶雙重迴圈的**:

1

public

boolean

checkdifferent(string inistring) 910

int maxlen = inistring.length() > 256 ? 256: inistring.length();

1112

for(int i = 0; i < maxlen; i++)

13for(int j = i + 1; j < maxlen; j++)

1419}20

21return

true;22

23 }

資料結構 第一發

有改進和優化的地方,希望大家幫助指出。1.1 兩個集合的並 include include using namespace std vector union1 vector a,vector b int main cin.clear while cin a c union1 a,b for int ...

開博第一發

終於鼓起勇氣來開了個人部落格,之前也知道有這個東西,一直不想弄它,個人有些懶散,估計以當時的個想法跟狀態開了部落格只能是寫些文學性質的文章。不會有關於技術的東西出現。現在面臨找工作了,再不專心學學技術說不過去。大學看了不少雜書,個人想法蠻多的,技術卻基本沒有怎麼學過,寫下這篇部落格乙個是給以後的部落...

OpenCV第一發 測試VS配置OpenCV

最近看到網上的視覺處理特別有意思,作為乙個甚至是計算機的門外漢來說直接學習第三方庫是很困難的,悔恨當初沒有去學計算機專業,哈哈哈哈哈哈哈哈哈,沒辦法了,為了對得起我的好奇心,我決定開始攻克它。第四步 開幹.配置環境變數,我的目錄是 e opencv build bin c 新增庫檔案目錄,我的目錄是...