题目:
给定两个字符串s1和s2,要求判定s2是否能够被s1做循环移位得到的字符串包含。
解法一:O(N^2)
对s1进行循环移位,在进行字符串包含的判断。
//s1,s2
int len = strlen(s1);
for(i:len)
{
char t=s1[0];
for(j:len-1)
s1[j]=s[j+1];
s1[len...
分类:
其他好文 时间:
2015-04-28 14:14:18
阅读次数:
122
题目:
把一个含有N个元素的额数组循环右移K位,要求时间复杂度O(N),且只允许使用两个附加变量。
解法一:O(N^2)
每次将数组中的元素右移移位,循环K次。当K>N时,右移K位和右移K%N位是一样的。
MyShift(int a[],int N,int K)
{
K%=N;
while(K--)
{
int t=a[N-1];...
分类:
编程语言 时间:
2015-04-28 09:49:29
阅读次数:
131
解法一:
判断第一个链表的每个节点是否在第二个链表中,O(M*N);
解法二:
对第一个链表的节点地址hash排序,建立hash表,然后对第二个链表的每个节点的地址查询hash表,如出现,相交
时间复杂度O(M+N),空间复杂度O(M)。
解法三:
把第二个链表接在第一个链表后面,得到的链表有环,相交,否则,不相交。‘
第二个链表的表头一定在环上,只需从第二个链表开始...
分类:
其他好文 时间:
2015-04-27 23:44:50
阅读次数:
131
题目1 : 扑克牌时间限制:2000ms单点时限:1000ms内存限制:256MB描述一副不含王的扑克牌由52张牌组成,由红桃、黑桃、梅花、方块4组牌组成,每组13张不同的面值。现在给定52张牌中的若干张,请计算将它们排成一列,相邻的牌面值不同的方案数。牌的表示方法为XY,其中X为面值,为2、3、4...
分类:
编程语言 时间:
2015-04-27 12:51:20
阅读次数:
203
一副不含王的扑克牌由52张牌组成,由红桃、黑桃、梅花、方块4组牌组成,每组13张不同的面值。现在给定52张牌中的若干张,请计算将它们排成一列,相邻的牌面值不同的方案数。牌的表示方法为XY,其中X为面值,为2、3、4、5、6、7、8、9、T、J、Q、K、A中的一个。Y为花色,为S、H、D、C中的一个。如2S、2H、TD等。输入
第一行为一个整数T,为数据组数。之后每组数据占一行。这一行首先包含一个整...
分类:
其他好文 时间:
2015-04-27 10:06:19
阅读次数:
376
java实现:
import java.util.ArrayList;
import java.util.List;
public class Telphone {
/**
* 保存每个数字对应的字母序列
*/
static String[] c = new String[] { "", // 0
"", // 1
"abc", // 2
"def", /...
分类:
其他好文 时间:
2015-04-27 10:02:33
阅读次数:
102
序言
2015 编程之美挑战赛·初赛结束了,小伙伴们似乎都在Hihocoder上愉快的玩耍……
只有我一个人默默地打着Code Hunt……
啊对了,默默的全题3SP的AK了哟……
来逐题写下题解和解题源码吧…… (P.S 有什么不好的或者说得不对的地方请告诉我哦,我会立马改正的~(●'?'●))
Section 00 BAIYUN
00.01 Tutorial 教程...
1、解题思路
按题要求,输入数据后先进行是否有两两相同的数据的判断,接着进行从小到大的排序,由于是求质数无关,则集合中任何一对数都不能质数相关,本人采用顺序遍历,将集合中每个数字分为必须包含和必须排外两种情况遍历,首先集合第一个数必须包含,且作为子集中第一个元素,由于是有序数据,只需从集合第二个数遍历起,对加人子集的每个数做质数相关判断(需要遍历一遍),若与子集每个数都质数无关,则将该数纳入该子集...
分类:
其他好文 时间:
2015-04-26 18:23:16
阅读次数:
119
题意:根据给出的各个用户之间的亲密度,计算所有异性对的亲密度总和。思路:大数据怕太大,所以用邻接表保存这个无向图,在输入时顺便统计亲密度总和。对于更改性别:统计一下该用户的异性朋友的亲密度总和,再总计一下该用户同性朋友的亲密度总和,两者作差,再更新一下总亲密度。对于更改亲密度:要考虑改为0的情况,就...
分类:
其他好文 时间:
2015-04-26 18:02:37
阅读次数:
127