fork download
  1. import java.util.*;
  2.  
  3. class Ideone {
  4. public static void main(String[] args) {
  5. String s = "abcfghij"; // Example string
  6. int k = 2;
  7.  
  8. int n = s.length();
  9. int[] dp = new int[n];
  10. dp[0] = 1;
  11.  
  12. int maxLen = 1, endIndex = 0;
  13.  
  14. for (int i = 1; i < n; i++) {
  15. if (Math.abs(s.charAt(i) - s.charAt(i - 1)) <= k) {
  16. dp[i] = dp[i - 1] + 1;
  17. } else {
  18. dp[i] = 1;
  19. }
  20.  
  21. if (dp[i] > maxLen) {
  22. maxLen = dp[i];
  23. endIndex = i;
  24. }
  25. }
  26.  
  27. int startIndex = endIndex - maxLen + 1;
  28. System.out.println("Max length: " + maxLen);
  29. System.out.println("Substring: " + s.substring(startIndex, endIndex + 1));
  30. }
  31. }
  32.  
Success #stdin #stdout 0.15s 57504KB
stdin
Standard input is empty
stdout
Max length: 5
Substring: fghij