转自: http://www.careercup.com/question?id=6287528252407808 问题描述: A k-palindrome is a string which transforms into a palindrome on removing at most k characters. Given a string S, and an interger K, print "YES" if S is a k-palindrome; otherwise pr…
最近面试总是刷到这个题,然后第一次的话思路很乱,这个是我个人思路 for循环里两个 if 判断还可以优化 var maxLength = 0; var maxStr = ''; var count = 1; var stringList = 'adsafsfgadsdaasssssaasssdfssss'; // 首先对字符串进行排列,方便比较 stringList = stringList.split('').sort(); // 比较字符串相邻位置是否相同 for (let i = 0; i…
先要搞明白:最长公共子串和最长公共子序列的区别.    最长公共子串(Longest Common Substirng):连续 最长公共子序列(Longest Common Subsequence,LCS):不必连续   实在是汗颜,网上做一道题半天没进展: 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串.如何删除才能使得回文串最长呢?输出需要删除的字符个数. 首先是自己大致上能明白应该用动态规划的思想否则算法复杂度必然过大.可是对于回文串很难找到其状态和状态转移方程,换句话…
使用locate(substr,str)函数,如果包含,返回>0的数,否则返回0…
A. Mike and palindrome time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Mike has a string s consisting of only lowercase English letters. He wants to change exactly onecharacter from the st…
有点像DP的思想,写写就会做. #include<bits/stdc++.h> using namespace std; const int maxn=1e7+5; char a[maxn]; char s[2*maxn]; int len[maxn*2]; int manachar(char *p) { int le=strlen(p); for(int i=0;i<le;i++) { s[i*2+2]=p[i]; s[i*2+1]='+'; //cout<<s[i*2+1…
首先还是先解释一下什么是回文串:就是从左到右或者从右到左读,都是同样的字符串.比如:上海自来水来自海上,bob等等. 那么什么又是找出最长回文串呢? 例如:字符串abcdefedcfggggggfc,其中efe,defed,cdefedc,gg,ggg,gggg,ggggg,gggggg,fggggggf,cfggggggfc都是回文串,左右完全一样. 这其中,有最短的gg,最长的cfggggggfc,还有其他长度的.忽略长度为1的.毕竟一个字符的都算回文了. 那么,找出最长的,就是找出这个cf…
我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.gitbooks.io/leetbook/ 005.Longest Palindromic [M] Longest Palindromic M 题目 思路 题目 Given a string S, find the longest palindromic substring in S. You may assu…
1.str == null; 2."".equals(str); 3.str.length 4.str.isEmpty(); 注意:length是属性,一般集合类对象拥有的属性,取得集合的大小. 例如:数组.length就是取得数组的长度.length()是方法,一般字符串类对象有该方法,也是取得字符串长度.例如:字符串.length(); 说明: 1.null表示这个字符串不指向任何的东西,如果这时候你调用它的方法,那么就会出现空指针异常. 2.""表示它指向一个…
记得曾经一次面试时,面试官给我电脑,让我现场写个算法,判断一个字符串是不是对称字符串.我当时用了几分钟写了一个很简单的代码. 这里说的对称字符串是指字符串的左边和右边字符顺序相反,如"abba",单个字符串暂且算非对称字符串,虽然有字符串看起来是对称的如"A."H"."O"."中"."人"...,严格来说,也是不对称的,把它们放大时,线条的粗细是不一样的. static bool IsSymmet…
c c++怎么判断一个字符串中是否含有汉字 (2013-02-05 10:44:23) 转载▼     #include  #include  int main() { char sztext[] = " 是ciw."; char c = 0; char szchinese[3] = {0}; int i = 0, nlen = strlen(sztext); for(; i < nlen; i++) { if( sztext[i] >= 0 && szte…
在javascript中有一个方法isDigit()使用来判断一个字符串是否都是数字,在java的字符串处理方法中没有这样的方法,觉得常常需要用到,于是上网搜了一下,整理出了两个用正则表达式匹配的判断方法,如下: // 判断一个字符串是否都为数字 public boolean isDigit(String strNum) { return strNum.matches("[0-9]{1,}"); } // 判断一个字符串是否都为数字 public boolean isDigit(Str…
原文:http://www.cnblogs.com/xdp-gacl/p/3548307.html 最近开发公司的项目,一直找不到合适的正则表达式可以判断一个字符串是否可以转成日期,今天发现可以采用SimpleDateFormat类的parse方法进行判断,如果转换不成功,就会出现异常, 具体代码如下: public static boolean isValidDate(String str) { boolean convertSuccess=true; // 指定日期格式为四位年/两位月份/两…
看到网友问,怎么查询表中某个字段数据是不是包含了全角字符啊? 这个问题涉及到几个函数:to_single_byte.length和lengthb,我之前做开发的时候研究的是如何判断一个字符串中是否包含中文,其实和这个本质是一样的,且看实验部分. 1  实验部分 1.1  lengthb和length函数结合to_single_byte函数 ---查找出含有汉字,严格的说是含有全角字符的行 SELECT l.name, length(l.name), lengthb(l.name) FROM   …
javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数 function test(){ var bt = document.getElementById("bt"); bt.addEventListener("click",function(){ var str = "dafdsjkfnaiesdaadsllllllkkkkk444444444444444"; var obj = []; // 存放结果集的数组…
1. 分析:判断一个字符串是否是一个对称的字符串,我们只需要把字符串的第1个字符和最后1个字符,第2个字符和倒数第2个字符,…… 比较的次数是长度除以2.  方法1:通过取取索引对应值来进行一一比对  方法2:通过StringBuffer的取反方法reverse获取其逆向值 2. 案例演示: package cn.itcast_07; import java.util.Scanner; /* * 判断一个字符串是否是对称字符串 * 例如"abc"不是对称字符串,"aba&qu…
判断一个字符串是否是另一个字符串的子串,也就是strstr()函数的实现,简单的实现方法是BF算法. 1.BF算法 int BF(char *s, char *p){ ; ; int j; while(i<strlen(s)){ j=; while(s[i]==p[j] && j<strlen(p)){ i++; j++; } if(j==strlen(p))return i-j; i=i-j+; } ; } 2.KMP算法 KMP算法的原理有很多文章解释,这就不说了(我也看得…
最近在笔试的时候遇到碰一道算法题, 要求判断一个字符串是不是合法的ip地址. 将我的思路发出来分享一下,不一定正确,也不一定是最优的方法.希望能分享一些交流 要求用java或者c来实现,我的java代码: public class Test_ip { //程序入口 public static void main(String[] args) { Solution s = new Solution(); // 业务逻辑放在Solution类里面 //String test_str = "12.34…
Java判断一个字符串中有多少大写字母.小写字母和数字 思路: 大写字母就是A-Z之间,小写字母是a-z之间,数字就是0-9之间,于是做判断就好:用到的String知识点,遍历字符串, 长度方法length() 和转char数据类型的toCharArray()方法. 代码如下: import java.util.Scanner; public class Test { public static void main(String[] args) { System.out.println("請輸入…
一.contains方法 1:描述 java.lang.String.contains() 方法返回true,当且仅当此字符串包含指定的char值序列 2:声明 public boolean contains(CharSequence s) 3:返回值 此方法返回true,如果此字符串包含,否则返回false. 4:实例 public static void main(String[] args) { String str = "abc"; boolean status = str.c…