Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. package transmissions;
  2.  
  3. import java.io.IOException;
  4. import java.nio.file.Files;
  5. import java.nio.file.Paths;
  6.  
  7. public class SeaTransmissions {
  8.  
  9.  
  10. /* TODO: checkForInterleaving method must call itself recursively
  11. * in order to find different permutations of x and y within itself.
  12. *
  13. * Example is on line 38
  14. *
  15. */
  16.  
  17.  
  18. public static boolean checkForInterleaving(int[] x, int[] y, int[] s) {
  19.  
  20. int x_counter = 0;
  21. int y_counter = 0;
  22. boolean is_interleaving = true;
  23.  
  24.  
  25. for (int i = 0; i < s.length; i++) {
  26. if(s[i] != x[x_counter] && s[i] != y[y_counter]) {
  27. is_interleaving = false;
  28. break;
  29. }
  30. if(s[i] == x[x_counter]) {
  31. x_counter++;
  32. }
  33.  
  34. if(s[i] == y[y_counter]) {
  35. y_counter++;
  36. }
  37.  
  38. /*
  39. *
  40. */
  41. if(x_counter > x.length-1 ) {
  42. x_counter = 0;
  43. }
  44.  
  45. if(y_counter > y.length-1) {
  46. y_counter = 0;
  47. }
  48. }
  49. if(x_counter != x.length || y_counter != y.length) {
  50. is_interleaving = false;
  51. }
  52. return is_interleaving;
  53. }
  54.  
  55. /* Returns an array with last element deleted */
  56.  
  57. public static int[] deleteFromEnd(int[] array) {
  58. int[] newArray;
  59. newArray = new int[array.length-2];
  60. for(int i = 0; i < array.length-2; i++) {
  61. newArray[i] = array[i];
  62. }
  63. return newArray;
  64. }
  65.  
  66. public static int[] deleteFromBeginning(int[] array) {
  67. int[] newArray;
  68. newArray = new int[array.length-2];
  69. for( int i = 0; i < array.length-2; i++) {
  70. newArray[i] = array[i+1];
  71. }
  72. return newArray;
  73. }
  74.  
  75. public static int[] copyArrayFromPosition(int[] array, int position) {
  76.  
  77. for (int i = p; i < array.length; i++) {
  78.  
  79. }
  80. }
  81.  
  82. public static void printOutArray(int[] array) {
  83. for(int i = 0; i < array.length; i++ ) {
  84. System.out.print(array[i] + ", ");
  85. }
  86. System.out.println("");
  87. }
  88.  
  89.  
  90.  
  91. public static void main(String[] args) {
  92. int s[] = new int[] {1,0,0,0,1,0,1,0,1,1,1,1};
  93. int x[] = new int[] {1,0,1};
  94. int y[] = new int[] {0};
  95. int x_size = x.length;
  96. int y_size = y.length;
  97. int s_size = s.length;
  98. int[] deleteFromEndS = s;
  99. int[] deleteFromBeginningS = s;
  100.  
  101. printOutArray(s);
  102. while(checkForInterleaving(x,y,s) != true && s_size > (x_size + y_size)) {
  103. deleteFromEndS =deleteFromEnd(s);
  104. }
  105. while(checkForInterleaving(x,y,s) != true && s_size > (x_size + y_size)) {
  106. deleteFromBeginningS= deleteFromBeginning(s);
  107. }
  108.  
  109.  
  110. printOutArray(s);
  111.  
  112. // TODO: Check for interleaving from the front, Backtrack if failing to check for
  113. // different orderings of x and y
  114. }
  115.  
  116.  
  117.  
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement