【题目】
You are given an n x n 2D matrix representing an image.
Rotate the image by 90 degrees (clockwise).
Follow up:
Could you do this in-place?
【题意】
给定一个nXn的二维矩阵,按时钟方向旋转90度,不能使用额外的数据结构
【思路】
从外向内逐层旋转...
分类:
其他好文 时间:
2014-05-26 05:50:25
阅读次数:
266
给定数组,求解一个三元组,是元素相加为零,且三元组不能重复,并且有序。
思路如下:
先排序,固定第一个指针指向开头,第二个指针指向后一个元素,第三个指针指向最后一个元素。
让这三个元素相加,如果结果大于零,让最后一个元素向前移动,再次求和,反之亦然。但要确保第三个元素在第二个元素后面。
这样依次添加进向量中即可,只要保证三个指针的顺序不乱就能保证三元组有序。怎么确保不重复,也就是确保三元组都不相同。
这是个需要着重考虑的问题,很绕,本题的难点就在这里。顺着下面的代码走一遍就能很清楚的知道了。...
分类:
其他好文 时间:
2014-05-26 05:50:05
阅读次数:
193
A Matrix
题意:按照题目中给定的方法,给你一个矩阵,求出变换出该矩阵的字符串
思路:构造问题,在纸上多画几组就能发现,每次必须从上往下找到一条路径,最后输出这些路径,按照开头最大的最晚输出,找的过程中只要不断往下一层找一个大的即可,并且如果一开使有一行是非递增就是错误
代码:
#include
#include
#include
#include
using names...
分类:
其他好文 时间:
2014-05-26 05:24:51
阅读次数:
220
题目链接:uva 1350 - Pinary
题目大意:给出n,输出第n给Pinary Number,Pinary Number为二进制数,并且没有连续两个1相连。
解题思路:dp[i]表示到第i位有dp[i]种,于是给定n,一层循环判断dp[i]≤n的话,就输出1,并且n减掉dp[i],注意输出0的时候,不能输出前导0.
#include
#include
typedef l...
分类:
其他好文 时间:
2014-05-26 04:38:12
阅读次数:
212
题目链接:uva 580 - Critical Mass
题目大意:给定一个栈,向栈里连续添加n次,每次可以添加U或者L,如果出现连续三个U则为不安全,问有多少种不安全的可能。
解题思路:先求出安全的,用总数减去安全的即为答案。
dp[i][j]表示以第i个位置结尾时,有末尾有j个连续的U。
还有一种解法,dp[i]表示第i个位置以L结尾的总数,dp[i] = dp[i-1] +...
分类:
其他好文 时间:
2014-05-26 03:24:49
阅读次数:
207
短语搜索
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
总提交:535 测试通过:170
描述
常见文本编辑器的一个功能是搜索,打开一段英文文字,根据一个给定的英文短语,可以搜索得到这个短语在文章中的位置,短语有可能重复出现。现请求出给定的短语在一段文字中出现的最后一个位置。文字中单词从1开始编号,所...
分类:
其他好文 时间:
2014-05-25 01:06:22
阅读次数:
284
Elegant String
题意:给定一个字符串,由0-k数字组成,要求该串中,子串不包含0-k全排列的方案数
思路:dp[i][j]表示放到i个数字,后面有j个不相同,然后想递推式,大概就是对应每种情况k分别能由那几种状态转移过来,在纸上画画就能构造出矩阵了,由于n很大,所以用快速幂解决
代码:
#include
#include
const long long MOD = ...
分类:
其他好文 时间:
2014-05-25 00:36:34
阅读次数:
211
题目连接:uva 417 - Word Index
题目大意:按照题目中的要求,为字符串编号,现在给出字符串,问说编号为多少,注意字符串必须为递增的,否则编号为0。
解题思路:其实就是算说比给定字符串小并且满足递增的串由多少个。dp[i][j]表示第i个位为j满足比给定字符串小并且满足递增的串。
dp[i][j]=∑k=0j?1dp[i?1][k].
注意每次要处理边界的情况,并且...
分类:
其他好文 时间:
2014-05-24 22:59:44
阅读次数:
304
问题:股票交易,交易的次数不限,但是要求在购买新的股票前,必须将旧的股票卖出,即同一时间,最多只能持有一只股票。要求在给定的交易价格序列中,计算出最大的收益。
分析:
保证利润最大,就要求在局部的价格波动中,能在低价买进,高价卖出,也就是说,找个价格走势的递增区间,并且这里可以交易多次,所以可以找到多个价格走势的递增区间,所有区间的收益的和就是最大的利润。
再看下不完全是递增区间的...
分类:
其他好文 时间:
2014-05-24 19:49:02
阅读次数:
349
题目:给定三个串str1,str2,str3,判断str3是否是str1,str2的交叉字符串。
交叉字符串:两个字符串的字符交叉,组成新的字符串,要求属于原来字符串中的字符在新的生成的交叉字符串中的顺序与原顺序相同。即若a、b在源字符串中时a在前面,那么在新的字串中时,a也的在b的前面。
回想问题Distinct
Subsequences,其形式表示为 S --通过合理的规则----得到...
分类:
其他好文 时间:
2014-05-24 18:14:24
阅读次数:
284