练练脑,继续过Hard题目
http://www.cnblogs.com/charlesblc/p/6384132.html
继续过Hard模式的题目吧。
97 | Interleaving String | 23.9% | Hard |
这道题目很好,是使用DP的典型方案。可惜我开始还是没能做出来。Discuss的解法非常好。好好学习。
- bool isInterleave(string s1, string s2, string s3) {
- if(s3.length() != s1.length() + s2.length())
- return false;
- bool table[s1.length()+][s2.length()+];
- for(int i=; i<s1.length()+; i++)
- for(int j=; j< s2.length()+; j++){
- if(i== && j==)
- table[i][j] = true;
- else if(i == )
- table[i][j] = ( table[i][j-] && s2[j-] == s3[i+j-]);
- else if(j == )
- table[i][j] = ( table[i-][j] && s1[i-] == s3[i+j-]);
- else
- table[i][j] = (table[i-][j] && s1[i-] == s3[i+j-] ) || (table[i][j-] && s2[j-] == s3[i+j-] );
- }
- return table[s1.length()][s2.length()];
- }
391 | Perfect Rectangle | 24.2% | Hard |
这道题目很难。而这个解法,真是太巧了。
两个基本点:一是总面积等于各个区域面积之和;另一个是所有的点出现偶数次,除了四个角上面的点。
练练脑,继续过Hard题目的更多相关文章
- 练练脑javascript写直接插入排序和冒泡排序
function insertionSort(array) { if (Object.prototype.toString.call(array).slice(8, -1) === 'Array') ...
- 新手入门JUnit单元测试
首先将JUnit插件安装到Eclipse或myeclipse里面,编写完一个模块或者实体类的时候,直接右击,new一个JUnit项目,选择你想测试的实体类(模块),然后会自动生成一个类,这个类,我们将 ...
- [codevs 1995]黑魔法师之门(并查集)
题目:http://codevs.cn/problem/1995/ 分析:脑补一下满足题目要求的子图肯定就是环……于是题目就变成了不断加边求环的个数.看起来有点麻烦……但是环的实质是几个小环组合起来的 ...
- leetcode面试准备:Reverse Words in a String
leetcode面试准备:Reverse Words in a String 1 题目 Given an input string, reverse the string word by word. ...
- HDU 1010Tempter of the Bone(奇偶剪枝回溯dfs)
Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Othe ...
- luogu P3565 [POI2014]HOT-Hotels
传送门 无脑暴力+O2=AC 题目要统计距离两两相等的三个点的组数,这三个点之间显然有一个点,并且这三个点到这个点的距离都相同.所以枚举中间这个点作为根,然后bfs整棵树,对于每一层,把以根的某个儿子 ...
- leetcode的Hot100系列--序
小白程序猿,练练手,做做题目,分享下经验, 有不对的,还请大家能够指出,多多包涵!谢谢!! 先简单,后复杂,循序渐进,希望能够坚持下来, 大家一起进步~~
- 《剑指offer》算法题第三天
今日题目: 斐波那契数列 青蛙跳台阶问题(及其变种:变态跳台阶) 矩形覆盖 旋转数组的最小数字 矩阵中的路径 机器人的运动范围 细心的同学会发现,第1,2,3题其实对应的是<剑指>书上的同 ...
- 【动态规划】DP搬运工3
UPD:修了点锅(啊昨天居然写脑抽了) 题目内容 给定两个长度为 \(n\) 的序列,定义 \(magic(A,B)=\sum\limits_{i=1}^n \max(A_i,B_i)\). 现在给定 ...
随机推荐
- android 分享到QQ空间的全部操作
http://wiki.open.qq.com/wiki/mobile/SDK下载 <!-- QZone分享必须加上以下两个activity --> &l ...
- __FUNCTION__, __LINE__ 有助于debug的宏定义
__FUNCTION__, __LINE__ 今天无意之间看到一段代码,里面有这样一个片段: if (!interface) { err ("%s - error, can't find d ...
- Suffix Array 后缀数组
后缀数组 顾名思义.SuffixArray(下面有时简称SA) 和字符串的后缀有关. 后缀:字符串中某个位置一直到结尾的子串.(SA中讨论包含了原串和空串).所以共同拥有len+1个后缀. 后缀数组: ...
- IPv6系列-入门指南
本文是<IPv6系列>文章的第一篇<入门指南>,用于快速了解并上手IPv6. 小慢哥的原创文章,欢迎转载 目录 ▪ 一. 为什么要了解IPv6 ▪ 二. 顾虑:IPv6地址太复 ...
- LigerUI 单独调用插件使用注意项
LigerUI 再某些情况下只需要使用部分功能,并不需要调用 ligerui.all.js . 比喻: 我现在只想用ligerGrid功能 只需要调用 <link href="lige ...
- Crawler4j快速入门实例
项目是基于maven 结构的. 首先我们在pom.xml中加入log4j以及log4j驱动类支持: <!-- 加入log4j支持 --> <dependency> <gr ...
- Qt-窗口部件概念介绍
前言:包括基础窗口部件QWidget.对话框QDialog.QFrame类族 .按钮部件.行编辑器.数值设定框以及滑块部件. 一.基础窗口部件QWidget 窗口部件(Widget)是Qt中建立用户界 ...
- POJ 3260 DP
只需要对John的付款数做一次多重背包,对shopkeeper的找零钱数做一次完全背包即可. 最重要的是上界的处理.可以注意到,John的付款数最多为maxv*maxv+m,也就是24400元.同理, ...
- (转载) Android Studio你不知道的调试技巧
Android Studio你不知道的调试技巧 标签: android studio 2015-12-29 16:05 2514人阅读 评论(0) 收藏 举报 分类: android(74) ...
- Android设计模式——抽象工厂方法模式
1.抽象工厂方法模式:为了创建一组或相互依赖的对象提供一个接口,而不需要指定它们是具体类……无语 2.找个代码看看: 抽象工厂类<成员为接口> /** * 抽象工厂 * */ public ...