1. #-*-coding:utf-8-*-
  2. #########################################################################
  3. # Copyright (C) 2017 All rights reserved.
  4. #
  5. # FileName:GetLongestSubString.py
  6. # Creator: x'x'x@xxx.com
  7. # Time:06/02/2017
  8. # Description:
  9. #
  10. # Updates:
  11. #
  12. #########################################################################
  13. #!/usr/bin/python
  14. # please add your code here!
  15. import re;
  16. import sys;
  17. import time;
  18. def PrintUsage():
  19. sys.stderr.write("program [IN]\n");
  20. sys.exit(1);
  21. class Solution:
  22. def GetLongestSubString(self,s1,s2):
  23. '''
  24. compute longest substring of input string s1 and s2
  25. '''
  26. maxLen = 0;
  27. endIndex = 0;
  28. print("s1="+s1);
  29. print("s2="+s2);
  30. if ( len(s1) == 0 or len(s2) == 0 ):
  31. return "";
  32. table=[[] for i in range(len(s1))];
  33. for i in range(len(table)):
  34. table[i]=[0 for j in range(len(s2))];
  35. for i in range(0,len(s1)):
  36. for j in range(0,len(s2)):
  37. if ( i == 0 or j == 0 ):
  38. if ( s1[i]==s2[j] ):
  39. table[i][j] = 1;
  40. if ( table[i][j] > maxLen ):
  41. maxLen = table[i][j];
  42. endIndex = i;
  43. else:
  44. if ( s1[i]==s2[j] ):
  45. table[i][j] = table[i-1][j-1]+1;
  46. if (table[i][j] > maxLen):
  47. maxLen = table[i][j];
  48. endIndex = i;
  49. print(table);
  50. return s1[endIndex-maxLen+1:endIndex+1];
  51. if (__name__=="__main__"):
  52. if (len(sys.argv) != 1):
  53. PrintUsage();
  54. sys.exit(1);
  55. starttime = time.clock();
  56. s1="gcdef";
  57. s2="abcdef";
  58. sol = Solution();
  59. print(sol.GetLongestSubString(s1,s2));
  60. endtime = time.clock();
  61. interval = endtime - starttime;
  62. sys.stderr.write("%s has finished congratulations!\n"%str(sys.argv[0]));
  63. sys.stderr.write("time elapse:%f\n"%interval);

newwork setup的更多相关文章

  1. 使用Setup Factory安装包制作工具制作安装包

    在我们开发完软件后,除了极个别案例我们把整个目录复制给客户用外,我们一般都需要做成安装包,方便整个软件的部署操作,以安装包的部署操作可能简单的是复制文件,也可能包括一些注册表.数据库等额外的操作,不过 ...

  2. Hive-0.x.x - Enviornment Setup

    All Hadoop sub-projects such as Hive, Pig, and HBase support Linux operating system. Therefore, you ...

  3. C/S打包 客户端/windows程序 Inno Setup

    之前介绍过InstallShield打包工具,本文再介绍更加方便的打包工具Inno Setup Inno Setup相对来说,比InstallShield更容易使用,不需要去等VS去创建项目,只要提供 ...

  4. A couple of notes about .NET Framework 4.6 setup behaviors

    https://blogs.msdn.microsoft.com/astebner/2015/06/17/a-couple-of-notes-about-net-framework-4-6-setup ...

  5. Appium for iOS setup

    windows下appium设置 之前研究了一段时间的appium for native app 相应的总结如下:                                           ...

  6. RIDE -- Robot Framework setup

    RobotFramework 是一款基于python 的可以实现关键字驱动和数据驱动并能够生成比较漂亮的测试报告的一款测试框架 这里使用的环境是 python-2.7.10.amd64.msi RID ...

  7. [Tool]Inno Setup创建软件安装程序。

    这篇博客将介绍如何使用Inno Setup创建一个软件安装程序. Inno Setup官网:http://www.jrsoftware.org/isinfo.php. 可以下载到最新的Inno Set ...

  8. python setup.py 管理

    发布项目遇到了坑……特此记录. How to write setup.py: https://docs.python.org/2/distutils/setupscript.html Setup.py ...

  9. inno setup读取注册表遇到的一个坑

    一.背景 目前,公司针对PR开发的一个插件需要发布到64位系统上.该插件包括一个prm格式的文件和若干个DLL文件.其中,prm文件需要复制到PR公共插件目录下,DLL需要复制到Windows系统目录 ...

随机推荐

  1. HTML5调用手机的Datepicker(日期选择器)

    HTML5 拥有多个新的表单输入类型.这些新特性提供了更好的输入控制和验证,包含了如下新的输入类型: email url number range Date pickers (date, month, ...

  2. VS2015配置OpenCV,使用mfc摄像头程序测试

    转自:https://blog.csdn.net/Lee_Dk/article/details/80466523 这只是介绍了如何加入OpenCV,怎么查找OpenCV请看出处. 新建一个项目.找到属 ...

  3. 【转载】java定义二维数组问题。分清数组与集合的区别

    出处: 度娘知道 答案由用户{ heitianba }提供. Q: int a[][] = new int[3][2];  a[0] = {1,6};  报错:第二句是非法表达式.为什么? A: in ...

  4. 处理Word文档中所有修订

    打开现有文档进行编辑 若要打开现有文档,您可以将 Word类实例化,如以下 using 语句所示. 为此,您可以使用Open(String, Boolean) 方法打开具有指定 fileName 的字 ...

  5. ubuntu自带截图工具--方便好用(转)

    一般用到的截图类型有三种:全屏.当前活动窗口.自定义区域,其中自定义区域截图是最灵活也是我们用的最多的方式.在ubuntu下可以通过其自带的截图工具轻松实现这三种功能. ubuntu自带的截图工具为s ...

  6. vector作为二维数组

    vector本来就是可以用来代替一维数组的,vector提供了operator[]函数,可以像数组一样的操作,而且还有边界检查,动态改变大小. 这里只介绍用它来代替二维的数组,二维以上的可以依此类推. ...

  7. Python 字符串十六进制流

    字符串转十六进制绕过特征检测SQL注入 Python中内置库与出色第三方库的学习 # 字符串转十六进制 mystr = "hello world" print(":&qu ...

  8. 管道/FIFO

    管道: #include<stdio.h> #include<unistd.h> #include<stdlib.h> #include<string.h&g ...

  9. jQuery获取父级、兄弟节点的方法

    一.jQuery的父节点查找方法 $(selector).parent(selector):获取父节点 $(selector).parentNode:以node[]的形式存放父节点,如果没有父节点,则 ...

  10. Maven4-仓库

    坐标和构建是一个构件在Maven世界中的逻辑表示方式,而其物理表示方式是文件.Maven通过仓库来统一管理这些文件 什么是Maven仓库? 在Maven世界中,任何一个依赖,插件或者项目构建的输出,都 ...