题目链接:http://codeforces.com/problemset/problem/463/D 题意: 给你k个1到n的排列,问你它们的LCS(最长公共子序列)是多长。 题解: 因为都是1到n的排列,即每个串中,1到n每个数字恰好出现一次。 将相同的数字之间相连,可以得到下面的样子(n = ...
分类:
其他好文 时间:
2018-01-08 21:05:07
阅读次数:
172
位图数据结构:这个数据结构主要描述了一个有限定义域内的稠密集合,其中的每一个元素最多出现一次,并且没有其他任何数据与该元素相关联。即使这些条件没有完全 满足(例如,存在重复元素或额外的数据),也可以用有限定义域内的键作为一个表项更复杂的表格的索引。 例如: 可以用一个20位长的字符串来表示一个所有元 ...
分类:
其他好文 时间:
2018-01-07 16:11:17
阅读次数:
203
javascript 1.声明二维数组要先声明一个数组,然后再在数组中创建一个数组 2.Javascript里有if-else if-else结构,但是else if只能出现一次,并不能像C#一样可以无穷多个。但是可以在最后的else里再嵌套if来达到目的。 HTML5 canvas 1.先创建一个 ...
分类:
Web程序 时间:
2018-01-06 00:34:46
阅读次数:
204
给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。 给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。 不要使用额外的数组空间,必须在原地没有额外 ...
分类:
编程语言 时间:
2018-01-05 15:27:39
阅读次数:
190
题目描述 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 思路:使用一个hashmap遍历一遍,统计每个字符出现的次数,然后再统计一遍,找到第一个出现一次的元素。 所有的字符有256个,可以开辟一个256的数组,直接使用字符访问就可以了,会 ...
分类:
其他好文 时间:
2018-01-03 21:10:08
阅读次数:
194
题目描述 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 思路: 用数组建一个哈希表,key 是字符,val是次数。 第一次遍历,统计次数 第二次遍历,把次数为1的下标输出。 ...
分类:
其他好文 时间:
2017-12-31 21:09:09
阅读次数:
168
题目描述 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 思路:哈希表存储出现的次数。两次遍历字符串,时间复杂度为O(n),空间复杂度为O(1) 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并 ...
分类:
其他好文 时间:
2017-12-29 12:06:59
阅读次数:
108
100 可表示为带分数的形式:3+69258/714 或 82+3546/197。类似这样的带 分数,100 共有 11 种表示法。带分数中,数字 1~9 分别出现且只出现一 次(不包含 0)。 请编写一个 C++程序,输入一个正整数 N (N<1000000), 输出 N 用数码 1~9 不重复不 ...
分类:
编程语言 时间:
2017-12-09 18:16:38
阅读次数:
158
现在有两个长度为n的排列p和s。要求通过交换使得p变成s。交换 pipi 和 pjpj 的代价是|i-j|。要求使用最少的代价让p变成s。 Input单组测试数据。 第一行有一个整数n (1≤n≤200000),表示排列的长度。 第二行有n个范围是1到n的整数,表示排列p。每个整数只出现一次。 第三 ...
分类:
其他好文 时间:
2017-12-03 19:02:51
阅读次数:
159
在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。 (1)不使用额外空间,时间复杂度是O(n^2) 像冒泡排序那样,内存循环对外循环判断,比如第一个a,扫描后续元素,有a则不满足。 (2)哈希表。 扫描完字符串后,就扫描哈希表:if(flag == 1 && a[ i ] ...
分类:
其他好文 时间:
2017-12-01 17:40:13
阅读次数:
176