給定兩個字串,請編寫程式,確定其中乙個字串的字元重新排列後,能否變成另乙個字串。這裡規定大小寫為不同字元,且考慮字串重點空格。
給定乙個stringstringa和乙個stringstringb,請返回乙個bool,代表兩串是否重新排列後可相同。保證兩串的長度都小於等於5000。
測試樣例:
"this is nowcoder","is this nowcoder"
返回:true
"here you are","are you here"
返回:false
python **
# -*- coding:utf-8 -*-
class same:
def checksam(self, stringa, stringb):
stra = sorted(stringa)
strb = sorted(stringb)
if stra == strb:
return true
else:
return false
c++**
//有點無恥額,直接用的sort函式,雖然簡潔,複雜度卻是o(nlogn);
//正規的做法,應該是hash,用256的元素記錄每個字元出現的次數
//再進行比較,掃瞄一遍,比較一遍,複雜度只要o(n).
class same
};
請實現乙個演算法,在不使用額外資料結構和儲存空間的情況下,翻轉乙個給定的字串(可以使用單個過程變數)。
給定乙個stringinistring,請返回乙個string,為翻轉後的字串。保證字串的長度小於等於5000。
測試樣例:
"this is nowcoder"
返回:"redocwon si siht"c++**
class reverse {
public:
string reversestring(string inistring) {
// write code here
char temp;
int j = inistring.size()-1;
int i = 0;
while(i請實現乙個演算法,確定乙個字串的所有字元是否全都不同。這裡我們要求不允許使用額外的儲存結構。
給定乙個stringinistring,請返回乙個bool值,true代表所有字元全都不同,false代表存在相同的字元。保證字串中的字元為ascii字元。字串的長度小於等於3000。
測試樣例:
"aeiou"
返回:true
"barackobama"
返回:false
python**
# -*- coding:utf-8 -*-class different:
def checkdifferent(self, inistring):
# write code here
string=inistring
array=list(string)
for i in range(0,len(array)-1):
for j in range(i+1,len(array)-1):
if array[i]==array[j]:
return false
return true
確定兩串亂序同構
題目描述 給定兩個字串,請編寫程式,確定其中乙個字串的字元重新排列後,能否變成另乙個字串。這裡規定大小寫為不同字元,且考慮字串重點空格。給定乙個string stringa和乙個string stringb,請返回乙個bool,代表兩串是否重新排列後可相同。保證兩串的長度都小於等於5000。測試樣例...
確定兩串亂序同構
題目描述 給定兩個字串,請編寫程式,確定其中乙個字串的字元重新排列後,能否變成另乙個字串。這裡規定大小寫為不同字元,且考慮字串中的空格。給定乙個string stringa和乙個string stringb,請返回乙個bool,代表兩串是否重新排列後可相同。保證兩串的長度都小於等於5000。測試樣例...
1 3字串 確定兩串亂序同構
給定兩個字串,請編寫程式,確定其中乙個字串的字元重新排列後,能否變成另乙個字串。這裡規定大小寫為不同字元,且考慮字串重點空格。給定乙個stringstringa和乙個stringstringb,請返回乙個bool,代表兩串是否重新排列後可相同。保證兩串的長度都小於等於5000。測試樣例 this i...