fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.regex.Pattern;
  7.  
  8.  
  9. /* Name of the class has to be "Main" only if the class is public. */
  10. class Ideone
  11. {
  12. private static final Pattern BITS = Pattern.compile("^(?=(1*01*0)*1*$)(?=(0*10*1)*0*$).*$");
  13.  
  14. public static final boolean evenBitCounts(String value) {
  15. return BITS.matcher(value).matches();
  16. }
  17.  
  18.  
  19. public static void main(String[] args) {
  20. String[] inputs = {
  21. "01010101",
  22. "",
  23. "11",
  24. "00",
  25. "01",
  26. "111",
  27. "11110",
  28. "1111",
  29. "0000",
  30. "0 11"
  31.  
  32. };
  33. for (String t : inputs) {
  34. System.out.printf("Test: %s -> %s\n", t, evenBitCounts(t));
  35. }
  36. }
  37. }
Success #stdin #stdout 0.11s 320576KB
stdin
Standard input is empty
stdout
Test: 01010101 -> true
Test:  -> true
Test: 11 -> true
Test: 00 -> true
Test: 01 -> false
Test: 111 -> false
Test: 11110 -> false
Test: 1111 -> true
Test: 0000 -> true
Test: 0 11 -> false