假設我有兩個字符串a =「a-b-c」,另一個字符串是b =「a-b」。 我想檢查字符串a是否包含字符串b的每個字母。 有幫助嗎?字符串與另一個字符串字符的比較
-4
A
回答
0
我假設有幾種方法和命令你可能會得到兩個字符串代表;也就是說,最直接的方法是檢查字符串b中的每個字符是否確實包含在字符串a中。爲此,您可以在String a上輕鬆地撥打indexOf(currentCharFromStringB)
。
我希望下面的例子可以幫助你看到我的想法:
"Blue Whale".indexOf("Blue") != -1; // true
"Blue Whale".indexOf("Bloe") != -1; // false
一些僞代碼將是:
for each char in b
for each char in a
is a in b?
現在,它是你的,處理你想怎麼解壓或代表字符串B的每個字符。
我希望這有助於。
1
一個高效的解決方案將把讀入兩個字符串sets。在這樣做後,「b中的每個字符都在」當且僅當b
是subset的a
。它可以優化爲僅使用一個集合(對於b) - 參見僞代碼。
這種方法的複雜性是平均使用散列表O(|a|+|b|)
,或使用基於樹的最壞情況O(log(min{|a|,|b|})*(|a|+|b|))
。如果你搜索每一個角色,它將會比你得到O(|a|*|b|)
更簡單。
僞代碼:
setB <- empty set
for each element e in b:
setB.add(e)
for each element e in a:
setB.remove(e) //assuming doing nothing if doesn't exist
return setB.isEmpty()
優化的想法是的b
元素(字符)加載到一組,然後迭代a
而如果遇到從集合中刪除的元素。
一旦你完成迭代a
,如果(且僅當)存在b
字符,是不是在a
- 它會留在設置和算法將返回false
0
function func(a,b) {
var alphabet = b.split("-");
for (var i=0; i < alphabet.length; i++) {
if (a.indexOf(alphabet[i]) == -1)
return false;
}
return true;
}
func("a-b-c", "a-b");
0
可以使用以下代碼:
var b = "a-b";
var a = "a-b-c";
var firstArray = b.split("-");
var secArray = a.split("-");
var length = firstArray.lenght;
for(var i =0; i<length; i++)
{
if(secArray.indexOf(firstArray[i]) != -1)
continue; //or do something
else
break; // or return false.
}
相關問題
- 1. 比較與另一個字符串數組中的字符串
- 2. 如何比較字符串值與另一個字符串值?
- 3. 與字符串比較字符串值
- 4. 如何比較另一個字符串中的字符串?
- 5. 比較給定字符串開始用另一個字符串
- 6. 字符/字符串比較
- 7. 字符串字符比較
- 8. Arduino - 比較一個拆分字符串與另一個字符串
- 9. PHP腳本比較一個字符串與其他字符串
- 10. PHP將字符串與字符比較
- 11. 比較常量字符與字符串
- 12. 如何比較字符與字符串中的單個字符?
- 13. 將用戶輸入的字符串/字符與另一個字符串/字符進行比較
- 14. ACCESS VBA將字符串與另一個表中的字符串比較
- 15. Android字符串比較,字符串
- 16. 比較一個字符串和幾個不同的字符串
- 17. Python:如何將input()字符串與另一個字符串進行比較?
- 18. 比較字符串,日期與MySQL查詢另一個字符串最新
- 19. PHP字符串與===比較
- 20. 比較datetimepicker與字符串
- 21. 與字符串比較
- 22. 比較字符串與document.getElementById()
- 23. 比較IEnumerable字符串和SortedList字符串,字符串
- 24. 如何比較一部分MySQL字符串與PHP字符串?
- 25. 字符串比較
- 26. 比較字符串
- 27. 比較字符串
- 28. 字符串比較
- 29. 字符串比較
- 30. 字符串比較
你可以發佈你有什麼代碼? – Josh
「每個字母」的意思是「每個字符」?角色是否必須以相同的順序發生? –
只是迭代b字符並測試它們是否出現在(使用indexOf) –