確定兩串亂序同構 原串翻轉 確定字元互異

2021-07-06 11:16:17 字數 1884 閱讀 7404

給定兩個字串,請編寫程式,確定其中乙個字串的字元重新排列後,能否變成另乙個字串。這裡規定大小寫為不同字元,且考慮字串重點空格。

給定乙個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...