Если вам нужно только их количество, как можно найти в комментариях, вы можете использовать пример следующим образом:
static int countBitwiseOr(String s1, String s2) {
int result = 0;
for (int i = 0; i < s1.length(); i++) {
if (s1.charAt(i) == '1' || s2.charAt(i) == '1')
result += 1;
}
return result;
}
, чтобы избежать большого количества вычислений.
Редактировать предлагаемое решение для соответствия API, предложенное в комментариях
Если вам нужно восстановить соответствие API (вернуть строку, содержащую все положительные результаты), вы все равно можете:
с Java 11
static String or_str(String s1, String s2){
return "1".repeat(countBitwiseOr(s1,s2));
}
с Java 11
static String or_str(String s1, String s2){
return Stream.generate(() -> "1").limit(countBitwiseOr(s1,s2)).collect(joining());
}