1樓:匿名使用者
先用a變數的值,然後再給a自身加1
2樓:數碼博主傳言
付費內容限時免費檢視
回答您這個**段能發來看看嗎
提問bool canconstruct(char * ransomnote, char * magazine)
int m=strlen(magazine);
for(int i=0;i
a[magazine[i]-'a']++;
}int n=strlen(ransomnote);
for(int i=0;i
if(a[ransomnote[i]-'a']>0)else
}return true;
}給定一個贖金信 (ransom) 字串和一個雜誌(magazine)字串,判斷第一個字串 ransom 能不能由第二個字串 magazines 裡面的字元構成。如果可以構成,返回 true ;否則返回 false。
回答這是一個遍歷哈,下標加一就是計數哈
字串中的元素進行遍歷,每一位字元進行比對,如果不對等,則下標加一
對比下一位的字元是否能構成
就是一個哈西陣列遍歷哈
提問字串中的元素進行遍歷,每一位字元進行比對,如果不對等,則下標加一
a[magazine[i]-'a']++;這裡面和26個英文字母比對嗎。那一定會對等啊。
a--又是什麼情況呢
回答這是字串啊
[尬笑]您該不會是零基礎吧
要遍歷的話,至少也得是同型別的引數
這是常識哈[微笑]
a是字串型別,長度是26,裡面對應的是26個字母啊
[尬笑]
看錯了,a沒有插入資料,所以只是長度為26
提問if(a[ransomnote[i]-'a']>0){
a[ransomnote[i]-'a']--;
這一段是幹嘛的呢?可以細緻一點嗎?謝謝
回答這段的意思是判斷是否遍歷到最後一位字母了,如果沒到最後一位,就繼續遍歷下一個資料。
提問a[ransomnote[i]-'a']--;
加加是記錄,那減減呢
回答[尬笑][尬笑]加加不是記錄哈,是遍歷,下標加一的意思,你好像沒看懂我的解釋哈
減減自然是下標減一
這都是遍歷哈[尬笑]遍歷的字面意思就是把這段字串的每一個資料都過一遍
不把沒一個資料都過一遍,還怎麼去比對這兩串字串的字母是否能夠進行組成呢?這個應該很容易理解吧[尬笑]
更多45條
C語言中assert的作用是什麼
是程式除錯很重要的手段,assert f 在debug模式下,每次執行到這裡後會計算括號中的表示式,如果表示式為0,則中斷執行,彈出一個警告框,使用者可選擇 繼續 重試 忽略 在release模式下,這句語句不會被編譯進 assert一般用於程式內部確認引數的正確性,即呼叫內部函式的時候,要由呼叫者...
C程式中冒號的作用是什麼,冒號在C語言中起什麼作用
這是位域 冒號後面的數字表示結構成員所佔的位長度 舉個例子 vc2005下測試通過 include include struct t int main void c程式中 冒號的作用是什麼?這是位域 冒號後面的數字表示結構成員所佔的位長度 舉個例子 vc2005下測試通過 include inclu...
c語言中的main函式引數作用,C語言中的main函式引數作用
在呼叫可執行程式時,可以通過main函式的引數將命令列的呼叫引數傳遞給main函式。事實上,main 函式既可以是無參函式,也可以是有參的函式。對於有參的形式來說,就需要向其傳遞引數。從函式引數的形式上看,包含一個整型和一個指向字元指標的指標。當一個c的源程式經過編譯 連結後,會生成副檔名為.exe...