zoukankan      html  css  js  c++  java
  • newwork setup

    #-*-coding:utf-8-*-
    #########################################################################
    #   Copyright (C) 2017 All rights reserved.
    # 
    #   FileName:GetLongestSubString.py
    #   Creator: x'x'x@xxx.com
    #   Time:06/02/2017
    #   Description:
    #
    #   Updates:
    #
    #########################################################################
    #!/usr/bin/python
    # please add your code here!
    import re;
    import sys;
    import time;
    def PrintUsage():
        sys.stderr.write("program [IN]
    ");
        sys.exit(1);
    class Solution:
        def GetLongestSubString(self,s1,s2):
            '''
             compute longest substring of input string s1 and s2
            '''
            maxLen = 0;
            endIndex = 0;
            print("s1="+s1);
            print("s2="+s2);
            if ( len(s1) == 0 or len(s2) == 0 ):
                return "";
            table=[[] for i in range(len(s1))];
            for i in range(len(table)):
                table[i]=[0 for j in range(len(s2))];
            for i in range(0,len(s1)):
                for j in range(0,len(s2)):
                    if ( i == 0 or j == 0 ):
                        if ( s1[i]==s2[j] ):
                            table[i][j] = 1;
                            if ( table[i][j] > maxLen ):
                                maxLen = table[i][j];
                                endIndex = i;
                    else:
                        if ( s1[i]==s2[j] ):
                            table[i][j] = table[i-1][j-1]+1;
                            if (table[i][j] > maxLen):
                                maxLen = table[i][j];
                                endIndex = i;
            print(table);
            return s1[endIndex-maxLen+1:endIndex+1];
    if (__name__=="__main__"):
        if (len(sys.argv) != 1):
            PrintUsage();
            sys.exit(1);
        starttime = time.clock();
        s1="gcdef";
        s2="abcdef";
        sol = Solution();
        print(sol.GetLongestSubString(s1,s2));
        endtime = time.clock();
        interval = endtime - starttime;
        sys.stderr.write("%s has finished congratulations!
    "%str(sys.argv[0]));
        sys.stderr.write("time elapse:%f
    "%interval);
  • 相关阅读:
    [HAOI2018]苹果树
    [TJOI2013]拯救小矮人
    [SDOI2016]硬币游戏
    一辈子都学不会的有上下界的网络流
    [AHOI2014/JSOI2014]支线剧情
    [JSOI2009]球队收益
    hdu-1856 More is better---带权并查集
    hdu-1325 Is It A Tree?---并查集
    hdu-1272 小希的迷宫---并查集或者DFS
    hdu1213-How Many Tables---基础并查集
  • 原文地址:https://www.cnblogs.com/finallyliuyu/p/6931912.html
Copyright © 2011-2022 走看看