hihocoder: 뒷차례 두루 훑어보기
1552 단어 hihocoder
이전에 leetcode에서 한 적이 있는데, 다시 한 번 두드렸고, 귀속적인 조작을 익히면 된다.
import java.io.*;
import java.util.*;
public class Main{
static char[] pre;
static char[] mid;
static BitTree tree;
static HashMap map = new HashMap<>();
public static void main(String[] args) throws Exception{
Scanner cin = null;
cin = new Scanner(System.in);
cin = new Scanner(new FileInputStream(new File("in")));
String str = cin.next();
pre = str.toCharArray();
str = cin.next();
mid = str.toCharArray();
init();
BitTree root = rebuildTree(0, pre.length, 0, pre.length);
postTrace(root);
System.out.println();
}
private static void init(){
map.clear();
for(int i = 0; i < mid.length; ++i){
map.put(mid[i], i);
}
}
private static BitTree rebuildTree(int preStart, int
preEnd, int midStart, int midEnd){
if(midStart < midEnd){
int cur = map.get(pre[preStart]);
BitTree tree = new BitTree(pre[preStart]);
tree.left = rebuildTree(preStart + 1, preStart + cur - midStart, midStart, cur);
tree.right = rebuildTree(preStart + cur - midStart + 1, preEnd, cur + 1, midEnd);
return tree;
}
return null;
}
private static void postTrace(BitTree tree){
if(tree != null){
postTrace(tree.left);
postTrace(tree.right);
System.out.print(tree.value);
}
}
private static class BitTree{
public char value;
public BitTree left, right;
public BitTree(char value){
this.value = value;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
hihocoder 1033 인터레이싱 및 디지털 DPpp[site][sum][p]는site 비트 숫자가 있고 교차와sum가 있으며 site 위치의 기호는 +(p==1) 또는 -(p==0)이다.마지막으로 k라는 것을 알았기 때문에sum의 초기값을 k+100(마이너스가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.