Amazon第二题

来源:互联网 发布:厦门网络教学平台登录 编辑:程序博客网 时间:2024/05/21 09:49
package sean;/* Enter your code here. Read input from STDIN. Print output to STDOUT */import java.util.Scanner;import java.util.StringTokenizer;public class Solution {private String calculateOperationSequence(int[] originalArray, int[] resultArray) {// your code is hereStringBuffer sb = new StringBuffer();int iOri, iRes;boolean stop = false;int i = 0;for (i = 0; i < resultArray.length && !stop; i++){iRes = resultArray[i];for (int j = 0; j < originalArray.length; j++){iOri = originalArray[j];if (iRes != iOri){if (j + 1 < originalArray.length){stop = true;sb.append("push" + iOri + "|" + "push" + originalArray[j + 1] + "|");j++;}}else {if (i == j){sb.append("push" + iOri + "|" + "pop" + iRes + "|");i++;if (i < resultArray.length)iRes = resultArray[i];}else{sb.append("pop" + iOri + "|");}}}}i--;int k = originalArray.length-1;for (;i < resultArray.length;i++){if (originalArray[k] == resultArray[i]){sb.append("pop" + resultArray[i] + "|");k--;}elsereturn "None";}sb.deleteCharAt(sb.length() - 1);return sb.toString();}public static void main(String[] args) {Solution solution = new Solution();Scanner scanner = new Scanner(System.in);while (scanner.hasNextLine()) {String strLine1 = scanner.nextLine();StringTokenizer stringTokenizer1 = new StringTokenizer(strLine1);//Initialize the original arrayint arrayLength = stringTokenizer1.countTokens();int[] originalArray = new int[arrayLength];for(int i = 0; i < arrayLength; i++){originalArray[i] = Integer.parseInt(stringTokenizer1.nextToken());}//Initialize the result arrayString strLine2 = scanner.nextLine();StringTokenizer stringTokenizer2 = new StringTokenizer(strLine2);arrayLength = stringTokenizer2.countTokens();int[] resultArray = new int[arrayLength];for(int j = 0; j < arrayLength; j++){resultArray[j] = Integer.parseInt(stringTokenizer2.nextToken());}String operationSequence = solution.calculateOperationSequence(originalArray, resultArray);System.out.println(operationSequence);}}}

原创粉丝点击