zoukankan      html  css  js  c++  java
  • 字典序最小问题

    package demo1;
    
    import java.util.Scanner;
    
    
    /**
     * 字典序的最小的问题
     * 	给定长度为N的字符串s,要构造一个长度为N的字符串T,开始T是一个空的字符串,随后反复进行下列的操作
     * 
     * 	从S的头部删除一个字符,添加到T的尾部
     * 	从S的尾部删除一个字符,添加到T的尾部
     * 	不论顺序的执行上述的操作。
     * 构造一个尽量小的字符串。
     * 
     * 
     * 
     * @author Administrator
     *
     */
    public class Main {
    
    	public static void main(String[] args) {
    		Scanner input = new Scanner(System.in);
    		int N = input.nextInt();
    		StringBuffer sb = new StringBuffer();
    		String str = "";
    		String T= "";
    		for (int i = 0;i<N;i++){
    			str = (sb.append(input.next())).toString();
    		}
    		//把字符串转化成数组
    		char [] cs = str.toCharArray();
    		int  a= 0;//表示的是下标
    		int b = N-1;//表示的是下标
    		
    		while (a <= b) {//将从左起和从右起的字符串进行比较
    			boolean left = false;
    			for (int i=0;a+i<=b;i++) {
    				if (cs[a+i]<cs[b-i]) {
    					left = true;
    					break;
    				}else if (cs[a+i] >cs[b-i]){
    					left = false;
    					break;
    				}
    			}
    			
    			if (left) {
    				T+=cs[a++];
    			}else {
    				T+=cs[b--];
    			}
    			
    			
    			
    		}
    		System.out.println(T);
    		
    		
    		
    		
    		
    		
    	}
    	
    }
    
  • 相关阅读:
    打包其他资源(除html/css/js 资源以外的资源)
    打包图片资源
    打包html资源
    css3
    Webpack 入门(一):安装 / 打包 / 命令行
    手动配置webpack
    实现登录
    回调函数和钩子函数
    不能局部安装webpack的解决方法
    Vue.js双向绑定的实现原理
  • 原文地址:https://www.cnblogs.com/airycode/p/4840804.html
Copyright © 2011-2022 走看看