先要搞明白:最长公共子串和最长公共子序列的区别. 最长公共子串(Longest Common Substirng):连续 最长公共子序列(Longest Common Subsequence,LCS):不必连续 实在是汗颜,网上做一道题半天没进展: 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串.如何删除才能使得回文串最长呢?输出需要删除的字符个数. 首先是自己大致上能明白应该用动态规划的思想否则算法复杂度必然过大.可是对于回文串很难找到其状态和状态转移方程,换句话
看到一个哥们G家电面试题,求删除最少字符生成Palindrome.大神们都在讨论dp,我完全想不到. 放一个没优化的DFS. 乐神说是O(n3)复杂度, 有机会的话要减少使用substring,并且要想一想能否使用memorization private static String findPalin(String s) { if (s.length() == 1) return s; int lo = 0, hi = s.length() - 1; if (s.charAt(lo) == s.
输入两个字符串,从第一字符串中删除第二个字符串中所有的字符.例如,输入"They are students."和"aeiou",则删除之后的第一个字符串变成"Thy r stdnts." 输入描述: 每个测试输入包含2个字符串 输出描述: 输出删除后的字符串 示例1 输入 They are students. aeiou 输出 Thy r stdnts. import java.util.Scanner; public class ch1_6_2
Delphi DBGrid右键删除行并提交至数据库.在form上添加,控件TPopupMenu,并指定右键名称:删行 2.编写删除语句: If ADOQuery1.State in [dsEdit, dsInsert] then ADOQuery1.Post; If ADOQuery1.RecordCount <> 0 then ADOQuery1.Delete; 3.把dbgrid的PopupMenu属性,设置成刚刚添加的控件TPopupMenu. 4.编译,运行
#查询文件中含有特殊字符串的行 #!/usr/bin/python # -*- coding:utf- -*- import re file1 = open('test.txt','r+') istxt = re.compile(r'.*if.*',re.I) for line in file1.readlines(): line = line.strip() ifstr = re.findall(istxt,line) if ifstr: print ifstr #删除特定行(创建新文件,把不