zoukankan      html  css  js  c++  java
  • POJ 3080 Blue Jeans(Java暴力)

    Blue Jeans

    【题目链接】Blue Jeans

    【题目类型】Java暴力

    &题意:

    就是求k个长度为60的字符串的最长连续公共子串,2<=k<=10
    规定:
    1、 最长公共串长度小于3不输出
    2、 若出现等长的最长的子串,则输出字典序最小的串

    &题解:

    这个我刚开始用c++写的,真的是恶心到我了,啥都要自己实现,所以突然就想到用Java试试,结果还真的挺简单.思路就是在第1个串中找出所有子串,之后去下面找就行了.
    String.compareTo(Sting )是字符串比较; subString 区间是 [ , ) 左闭右开的; String.indexOf(str) 是返回str在字符串中第一次出现的位置,如果没有就返回-1

    注意: 1.package zz 是不能放在提交代码里的 否则会Runtime Error
    2.public static void main 中的static 不能去掉 否则会Runtime Error

    &代码:

    import java.io.*;
    import java.math.*;
    import java.util.*;
    
    public class Main{
    	
    	static boolean ok(String t,int n,String s[]) {
    		for(int i=1;i<n;i++) {
    			if(s[i].indexOf(t)==-1) {
    				return false;
    			}
    		}
    		return true;
    	}
    	
        public static void main(String[] args) throws Exception{
        	Scanner cin=new Scanner(System.in);
        	int t=cin.nextInt();
        	while(t-->0) {
        		int n=cin.nextInt();
        		String[] s=new String[23];
    //    		System.out.println("n="+n);
        		s[0]=cin.nextLine();
        		for(int i=0;i<n;i++) {
        			s[i]=cin.nextLine();
    //    			System.out.println("s["+i+"]="+s[i]);
        		}
        		String ans="";
        		for(int i=0;i<s[0].length();i++) {
        			for(int j=i;j<s[0].length();j++) {
        				String te=s[0].substring(i, j+1);
        				if(ok(te,n,s)) {
    //    					System.out.println(te);
    //    					System.out.println(ans+"    ===");
        					if(ans.length()<te.length()) {
        						ans=te;
        					}
        					if(ans.length()==te.length()&&ans.compareTo(te)>0) {
        						ans=te;
        					}
        				}
        			}
        		}
        		if(ans.length()>=3) System.out.println(ans);
        		else System.out.println("no significant commonalities");
    //    		System.out.println(ok("AGATAC",n,s));
        	}
        	cin.close();
        }
    }
    
  • 相关阅读:
    MapReduce运行原理和过程
    为什么均方差(MSE)不适合分类问题?交叉熵(cross-entropy)不适合回归问题?
    207. 课程表
    131. 分割回文串
    152. 乘积最大子数组
    pandas内存优化函数
    395. 至少有K个重复字符的最长子串
    HTML入门
    递归与链表
    Spring--001
  • 原文地址:https://www.cnblogs.com/s1124yy/p/7090261.html
Copyright © 2011-2022 走看看