java+递归查找每一最大的字典序字母

最大子序列

http://www.nowcoder.com/questionTerminal/17ba5b5df1fc49ca8d6cf8ea407b1972

本题使用递归可以求解,每一次找出字典序最大的字母,,再从当前位置进行,再从index+1继续递归处理到字符串末尾即可
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
        String str;
        while((str=reader.readLine())!=null){
            StringBuffer sb=new StringBuffer();
            dfs(sb,0,str,str.charAt(0));
            System.out.println(new String(sb));
        }
    }
    public static void dfs(StringBuffer sb,int index,String str,char c){
        for (int i = index+1; i <str.length() ; i++) {
             if(str.charAt(i)>c){
                 c=str.charAt(i);
                 index=i;
             }
        }
        sb.append(c);
        if(index<str.length()-1)
                dfs(sb,index+1,str,str.charAt(index+1));
    }
}
全部评论

相关推荐

07-17 12:07
门头沟学院 Java
勇敢牛牛不怕困难
投递OPPO等公司7个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
机械打工仔:我来告诉你原因,是因为sobb有在线简历,有些HR为了快会直接先看在线简历,初步感觉不合适就不会找你要详细的了
投了多少份简历才上岸
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务