[字符串算法1] 字符串Hash(优雅的暴力) [字符串算法2]Manacher算法 [字符串算法3]KMP算法 这里将讲述  [字符串算法1] 字符串Hash 老版原文: RK哈希(Rabin_Karp 哈希) 仅仅具有参考价值 新版题目:[字符串算法1] 再谈字符串Hash(优雅的暴力) 概念 - 什么是字符串Hash? - 就是把字符串映射成一个数字使每个字符串的映射结果不一样(把字符串有效的转化为数字) 对字符进行映射 对一个字符进行唯一编码,如A-->1,B-->2,C-->3…
/** 题目:GCD 链接:https://vjudge.net/contest/178455#problem/E 题意:给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对(x,y)有多少对. 1<=N<=10^7 思路: 定义: f(n)表示gcd(x,y)==n的对数. F(n)表示n|gcd(x,y)的对数. 枚举n以内的素数p: f(p) = sigma(mu[d/p]*F(d)) (p|d) F(d) = (n/d)*(n/d); N/10*sqrt(N)复…
/** 题目:hdu6055 Regular polygon 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6055 题意:给定n个坐标(x,y).x,y都是整数,求有多少个正多边形.因为点都是整数点,所以只可能是正四边形. 思路: (x1,y2)(x2,y2)=>(x,y) = (x2-x1,y2-y1) 向量(x,y)逆时针旋转90度:(-y,x):那么可以得到垂直(x,y)的向量,并通过(x2,y2)获得以(x2,y2)为起点的向量终点(x2+(…
2121: 字符串游戏 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 672  Solved: 376[Submit][Status][Discuss] Description BX正在进行一个字符串游戏,他手上有一个字符串L,以及其他一些字符串的集合S,然后他可以进行以下操作:对 于一个在集合S中的字符串p,如果p在L中出现,BX就可以选择是否将其删除,如果删除,则将删除后L分裂成的左右 两部分合并.举个例子,L='abcdefg' , S={…
Keywords Search HDOJ-2222 本文是AC自动机的模板题,主要是利用自动机求有多少个模板出现在文本串中 由于有多组输入,所以每组开始的时候需要正确的初始化,为了不出错 由于题目的要求是有多少字符串出现过,而不是出现过多少次,所以出现过的模板串就不能再计数了,所欲需要置-1. 不要忘记build函数应该在insert函数之后调用,也不要忘记调用. //AC自动机,复杂度为O(|t|+m),t表示文本串的长度,m表示模板串的个数 #include<iostream> #incl…
在解上面这个问题前我们要先解决一个类似的问题:求字符串s的所有后缀和s本身的最长公共前缀: 我们用next[]数组保存这些值: 现在我们假设要求next[ x ],并且next[ i ] 0<i<x的值都已经求出; 我们设p = k + next[k] - 1, k是使p最大的 i  (0<i<x);如图: 现在整理一下问题: 已知:s[k..p] == s[ 0 .. next[ k ]-1 ],求s[x .. n-1]与s[0 .. n-1]的最长公共前缀: 由s[k .. p…
javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数 function test(){ var bt = document.getElementById("bt"); bt.addEventListener("click",function(){ var str = "dafdsjkfnaiesdaadsllllllkkkkk444444444444444"; var obj = []; // 存放结果集的数组…
Oracle字符串函数 最近换了新公司,又用回Oracle数据库了,很多东西都忘记了,只是有个印象,这两晚抽了点时间,把oracle对字符串的一些处理函数做了一下整理,供日后查看.. 平常我们用Oracle主要有两种字符串类型1.char始终为固定的长度,如果设置了长度小于char列的值,则Oracle会自动用空格填充的.当比较char时,Oracle用空格将其填充为等长,再进行比较.2.VarChar2数据类型为可变长度,虽然与VarChar数据类型是同义的,但在今后的Oracle版本中也许会…
1.String对象的创建 方法1: var txt = new String("i am String"); console.log(txt); // 结果为:i am String 方法2: var txt = "i am string"; console.log(txt); //结果为:i am string 2.string的length属性:求字符串的长度 var txt = "Hello World"; console.log(txt…
题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母. /** * 1.递归算法 * * 解析:http://www.cnblogs.com/cxjchen/p/3932949.html (感谢该文作者!) * * 对于无重复值的情况 * * 固定第一个字符,递归取得首位后面的各种字符…
题目描述: 给定n,a求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除. 输入: 两个整数n(2<=n<=1000),a(2<=a<=1000) 输出: 一个整数. 样例输入: 6 10 样例输出: 1 这个题首先如果数字小的话是可以考虑轮流试的,但是1000的数字范围无论是对阶乘还是幂都太大了.于是我们想一下,既然要求整除,说明每个素因子都是可以抵消的,这样我们就可以求解了.但是还要考虑到,因为后面是求哪个k,所以说我们不是对n!和a的幂分别求出对应的素数因子数组.我…
strpos - 查找字符串首次出现的位置 说明 int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) 返回 needle 在 haystack 中首次出现的数字位置.与 strrpos() 不同,在 PHP 5 之前,该函数可以使用一个完整字符串作为 needle,并且整个字符串都将被使用. 参数 haystack 在该字符串中进行查找. needle 如果 needle 不是一个字符串,那么它将被转换为整型并…
把一个长字符串分解成若干个固定长度的短字符串,由于事先不知道长字符串的长度,以及短字符串的数量,只能使用List. public static void get_list_sbody(String s){ // 计数变量 int num = 0; // 每行的字符数 int r_num = 27; // 字符串 String sx = new String(""); lst_sbody = new ArrayList(); char[] cr =s.toCharArray(); for…
MySQL replace函数我们经常用到,下面就为您详细介绍MySQL replace函数的用法,希望对您学习MySQL replace函数方面能有所启迪. 最近在研究CMS,在数据转换的时候需要用到mysql的MySQL replace函数,这里简单介绍一下. 比如你要将表 tb1里面的 f1字段的abc替换为def UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); REPLACE(str,from_str,to_str) 在字符串 str 中所有出现…
7.48  如何手动转换字符串编码 1.问题提出 如何将英文的字符串转换成UTF-8格式的字符串? 2.问题解答 可以使用lr_convert_string_encoding函数将字符串从一种编码手动转换为另一种编码(UTF-8.Unicode或本地计算机编码). 该函数的语法如下. lr_convert_string_encoding(char * sourceString, char * fromEncoding, char * toEncoding, char * paramName) 该…
文章关键字: c#字符串转换为日期 c#日期转换字符串   字符串转换日期   字符串转换为date   整数转换为字符串   浮点数转换为字符串 字符串转换为时间   将字符串转换为时间   字符转换为字符串   字符串转换为时间 对象 字符串转换为日期型 字符串转换成日期 √字符串转换为日期型(C#) 如:"20100101"转换成日期型? "20100101"转换成int型怎么转换?? 1.DateTime dt=Convert.ToDateTime(&quo…
今天工作中遇到一个要不一个double型的字符串转换成一个纯字数字符串和一个标志这个数字字符串的小数点有几位的int类型 例如:“23.123”--->“23123” + 3   比较简单.就是把代码贴这里,以后用到了,可以直接拽来用 #include "stdafx.h" #include <stdlib.h> #include <iostream> #include <string> void getInfo(const char* pNu…
PHP计算字符串长度     及其   截取相应中文字符串 计算字符长度: $gouWu = '美日汇http://www.hnzyxok.com/'; echo mb_strlen($gouWu,'utf-8') ;    //输出的结果是26,里面包括了中文字母符号的计算.在该函数加上 UTF-8行  .否则算出来的就是32(一个中文相应的长度是3) 相应截取中文: echo mb_substr($gouWu,0,10,'utf-8').;     //从$gouWu变量中相应取10个字符,…
题目要求:建立一个类Str,将一个正整数转换成相应的字符串,例如整数3456转换为字符串"3456". 关键:怎么将一个数字转换为字符? [cpp] view plaincopy #include<iostream> using namespace std; class Str { private: int num;//被转换的整数 char s[15];//转换完的字符串 public: Str(int x) { num=x; } void print() { cout&…
JS自带函数 concat 将两个或多个字符的文本组合起来,返回一个新的字符串. var a = "hello"; var b = ",world"; var c = a.concat(b); alert(c); //c = "hello,world" indexOf 返回字符串中一个子串第一处出现的索引(从左到右搜索).如果没有匹配项,返回 -1 . var index1 = a.indexOf("l"); //index1…
这是关于Python的第3篇文章,主要介绍下字符串的分片与索引.字符串的方法. 字符串的分片与索引: 字符串可以用过string[X]来分片与索引.分片,简言之,就是从字符串总拿出一部分,储存在另一个地方. 看下面这个例子,string[0]代表第一个字符,string[-1]为最后一个字符,空格也算一个字符:如果想截取某一段字符时,可以用string[X:X]来表示,其中冒号切记需为英文状态下的,如果从头或是从结尾开始截取,可以直接省略掉开头和结尾的表示. string = 'I am a P…
package text1; import java.util.ArrayList; import java.util.HashSet; /* * 要求产生10个随机的字符串, * 每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同, * 每个字符串长度为10; */ public class Example { //先设置一个集合用来存储要随机的数据 public static ArrayList<Character> getContainer(){ //建立一个…
JSON.stringify()方法是将一个javascript值(对象或者数组)转换成为一个JSON字符串:JSON.parse()解析JSON字符串,构造由字符串描述的javascript值或对象…
JSON是javascript原生格式,在JavaScript中处理json数据不需要任何特殊的API或者工具包. JSON中,有两种结构:对象和数组. 在数据传输流中,json是以文本,即字符串的形式传递的,而JS操作的是json对象,因此,json对象和json字符串之间的互相转换关系是关键. 一.json字符串转json对象 1.json字符串转json对象 var str = '{"a":"a1","b":"b1"}'…
题目: 给定一个数组,求如果排序之后,相邻两数的最大差值,要求时间复杂度为O(N),且要求不能用非基于比较的排序 public static int maxGap(int nums[]) { if (nums == null || nums.length < 2) { return 0; } int len = nums.length; int max = Integer.MIN_VALUE; int min = Integer.MAX_VALUE; for (int i = 0; i < l…
=len(单元格A)-len(substitute(单元格A,某字符串,)) 原理:将某字符串替换成空,前后字符串长即为减去的这个字符串长度,这个字符串出现个数=前后字符串长度之差/这个字符串长度 =substitute(substitute(单元格A,旧字符串1,新字符串a),旧字符串2,新字符串b) 原理:嵌套替换…
    •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组:•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 输出描述: 输出到长度为8的新字符串数组 输入例子: abc 123456789 输出例子: abc00000 12345678 90000000       import java.util.*; public class Main{     public static void main(S…
--当charindex返回值大于0时则包含 为0不包含 select CHARINDEX('456','123456')   SQL语句使用CHARINDEX函数,来测试一个字符串中是否包含另一个字符串中的方法: 一.CHARINDEX函数介绍 1.函数功能:函数返回字符或者字符串在另一个字符串中的起始位置. 2.语法:CHARINDEX ( expression1 , expression2 [ , start_location ] ) 3.参数说明:expression1是要到expres…
这是关于Python的第3篇文章,主要介绍下字符串的分片与索引.字符串的方法. 字符串的分片与索引: 字符串可以用过string[X]来分片与索引.分片,简言之,就是从字符串总拿出一部分,储存在另一个地方. 看下面这个例子,string[0]代表第一个字符,string[-1]为最后一个字符,空格也算一个字符:如果想截取某一段字符时,可以用string[X:X]来表示,其中冒号切记需为英文状态下的,如果从头或是从结尾开始截取,可以直接省略掉开头和结尾的表示. string = 'I am a P…
前台的js对象数组传到后台处理.在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>…