Lituo 1016 の質問: 部分文字列は、1 から N までの数値のバイナリ文字列を表すことができます。
タイトル説明:
中程度 59
バイナリ文字列
s
と正の整数を指定した場合、範囲内のすべての整数のバイナリ表現が の部分文字列n
である場合はを返し、それ以外の場合は を返します。[1, n]
s
true
false
部分文字列は、文字列内の連続した文字のシーケンスです。
解決策のアイデア:
1. まず [1,n] の各バイナリ文字列を計算し、Java は Integer.toBinaryString() メソッドを使用して各整数をバイナリに変換します; 2. 次に、それぞれを
s で判断し、 s. ) メソッドを使用して、 sにbがあります
class Solution {
public boolean queryString(String s, int n) {
for (int i=1;i<=n;i++){
String b = Integer.toBinaryString(i);
if (!s.contains(b)){
return false;
}
}
return true;
}
}