leetcode 几道题目
是周六晚上的几道题,晚上11点半,睡的早,起不来!
494. Target Sum
分析:看完这题,看到数据范围,长度20,枚举就是1<<20 = 1e6, 然后单次20,总共就是2e8,感觉应该是暴力枚举,然后我就按照二进制的方式写了代码,tle了,我感觉应该可以过啊,然后就用dfs写了一下,刚好能过,卡的时间,感觉应该有优化的地方。其实正确的思路是dp,我刚开始感觉也是dp,因为要计算所有的可能,感觉dp也是暴力,算所有可能出现的情况,感觉跟暴力差不多!今天看了下别人的分析,是自己分析错了,http://bookshadow.com/weblog/2017/01/22/leetcode-target-sum/ 我每次都看这个人写的题解,非常棒,更新速度快,思路清晰!然后这道题,因为题目说了,所有数之和不超过1000,那么所有可能出现数的范围就确定了-1000到1000,总共2000, 每次每个数只需要考虑加减这两种情况,所以复杂度是2000 * 20 = 4e4,这个复杂度很小,速度很快!还有注意:这道题因为有些和为负数,所以加上一个偏移来解决。
mycode:
class Solution {
private:
int dp[][];
public:
int findTargetSumWays(vector<int>& nums, int s) {
int pos = ;
memset(dp, , sizeof dp);
dp[][ + pos] = ;
int cur = ;
for (int x : nums) {
for (int i = ; i <= ; i++)
dp[cur][i] = ;
for (int i = ; i <= ; i++) {
if(i + x <= )
dp[cur][i + x] += dp[cur ^ ][i];
if(i - x >= )
dp[cur][i - x] += dp[cur ^ ][i];
}
cur ^= ;
}
s += pos;
if(s < || s > ) return ;
return dp[cur ^ ][s];
}
};
492. Construct the Rectangle
这道题是水题,之前在cf上见过,链接见这里http://codeforces.com/contest/747/problem/A
491. Increasing Subsequences
分析:应该是普通的思路啊,这跟最前的求等差数列的个数的题目差不多吧!我的想法是求出每一个位置的递增子序列,这可以通过寻找前面比他小的元素的子序列加上他自己构成,同时维护结果,最后对结果去重,可以通过排序,unique,erase来做。 刚开始,我对每一个位置都做了unique,erase,结果tle了,去掉这个,只对结果进行unique,erase,然后就过了,也是卡的时间,感觉应该没什么好办法了!
看这个题解http://bookshadow.com/weblog/2017/01/22/leetcode-increasing-subsequences/跟target sum的思路差不多,算出所有的序列,每遇到一个数,就对所有的序列进行遍历,寻找满足要求的答案,这样会不会快呢? 其实跟我上面的思路差不多,这个是每一个需要都要判断,我那个是只对前面的数字,但是添加的时候也要遍历,但是,我没有做去重处理,这里重复的影响又多大,是个问题,需要考虑!首先,一个完全的递增序列的结果有:最长15,一共有32767个, 根据一个完全递增的序列算出来的数字。接下来我不知道怎么分析,是sort, unique, erase,每个元素都是vector,这个比较的单位时间也是比较大的。当然,利用set的去重处理是挺好的方法,很方便。这道题,就这样吧,想到什么再写下来。
484 Find Permutation
看不到题,没做。-0-
好像挺难,需要仔细的分析, 求字典序最小,那就使得只能从前往后考虑,刚开始尽可能的小。(从后面考虑的想法应该是错误的吧)!
如果这题改成求字典序最大的怎么做呢?这是个很好的问题!仔细分析一下,跟上面的思路差不多!
486. Predict the Winner
这个之前刚好看过,详细的分析看这个链接 http://mp.weixin.qq.com/s/rgocsC5P_hYZ0OmH53zCnw,这个好像跟http://bookshadow.com/weblog/2017/01/22/leetcode-predict-the-winner/ 的递推公式不太一样,思考一下。不知道Alpha-Beta搜索这个知识点,学习一下。
483. Smallest Good Base
刚好,这个也做过,是google apactest的原题, 我做的时候直接贴的源代码。
leetcode 几道题目的更多相关文章
- leetcode - 位运算题目汇总(下)
接上文leetcode - 位运算题目汇总(上),继续来切leetcode中Bit Manipulation下的题目. Bitwise AND of Numbers Range 给出一个范围,[m, ...
- C语言超级经典400道题目
C语言超级经典400道题目 1.C语言程序的基本单位是____ A) 程序行 B) 语句 C) 函数 D) 字符.C.1 2.C语言程序的三种基本结构是____构A.顺序结构,选择结构,循环结 B.递 ...
- hdu 动态规划(46道题目)倾情奉献~ 【只提供思路与状态转移方程】(转)
HDU 动态规划(46道题目)倾情奉献~ [只提供思路与状态转移方程] Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955 背包 ...
- leetcode top 100 题目汇总
首先表达我对leetcode网站的感谢,与高校的OJ系统相比,leetcode上面的题目更贴近工作的需要,而且支持的语言广泛.对于一些比较困难的题目,可以从讨论区中学习别人的思路,这一点很方便. 经过 ...
- 小白欢乐多——记ssctf的几道题目
小白欢乐多--记ssctf的几道题目 二哥说过来自乌云,回归乌云.Web400来源于此,应当回归于此,有不足的地方欢迎指出. 0x00 Web200 先不急着提web400,让我们先来看看web200 ...
- leetcode tree相关题目总结
leetcode tree相关题目小结 所使用的方法不外乎递归,DFS,BFS. 1. 题100 Same Tree Given two binary trees, write a function ...
- 在 n 道题目中挑选一些使得所有人对题目的掌握情况不超过一半。
Snark and Philip are preparing the problemset for the upcoming pre-qualification round for semi-quar ...
- SQL的几道题目
1.构造数据插入方案表t_project_finish表 a)将addtime更新为当前时间的前一天 首先想到的是addtime=addtime-1,然后就开始验证这个想法. 插入一行数据,包括主键和 ...
- [LeetCode] 二叉树相关题目(不完全)
最近在做LeetCode上面有关二叉树的题目,这篇博客仅用来记录这些题目的代码. 二叉树的题目,一般都是利用递归来解决的,因此这一类题目对理解递归很有帮助. 1.Symmetric Tree(http ...
随机推荐
- CNN结构:MXNet设计和实现简介
对原文有大量修改,如有疑惑,请移步原文. 参考链接:MXNet设计和实现简介 文章翻译于:https://mxnet.incubator.apache.org/architecture/index.h ...
- Architecture:话说科学家/工程师/设计师/商人
从使命.目的.行为的不同,可以归类人群到科学家.工程师.设计师.商人等等.使命分别是:1.携带当下社会的财富对未来探索,希望引发变革:2.掌握工程全貌.完成整个工程的圣经周期:3.在工程的设计层面做文 ...
- 【sqli-labs】 less6 GET - Double Injection - Double Quotes - String (双注入GET双引号字符型注入)
同less5 单引号改成双引号就行 http://localhost/sqli/Less-6/?id=a" union select 1,count(*),concat((select ta ...
- PAT_A1147#Heaps
Source: PAT A1147 Heaps (30 分) Description: In computer science, a heap is a specialized tree-based ...
- HTTP 下载文件中文文件名在 Firefox 下乱码问题
转自:http://www.imhdr.com/991/ HTTP 下载文件,中文文件名在 Firefox 下乱码问题 最近帮助一同事解决 HTTP 下载文件时,中文文件名在 Firefox 下乱码的 ...
- 表操作(day03)
回顾: 1.单行函数 2.表连接 oracle中的表连接 内连接 等值连接 select e.id,e.first_name,d.name from s_emp e,s_dept d where e. ...
- 爬虫写法进阶:普通函数--->函数类--->Scrapy框架
本文转载自以下网站: 从 Class 类到 Scrapy https://www.makcyun.top/web_scraping_withpython12.html 普通函数爬虫: https:// ...
- jvm学习-垃圾回收算法(三)
垃圾回收算法 引用计数法 比较古老的一种垃圾回收算法.在java的GC并没有采用 增加一个引用 引用+1 减少一个引用引用减一 每次清除引用为0的的对象 缺点:不能回收循环引用的垃圾对象 标记清除 ...
- JS代码引用位置问题-转
看到很多JS代码全部放在head中的情况,其实这是个细节问题.转载一个知乎用户于江水的答案: 作者:于江水链接:https://www.zhihu.com/question/34147508/answ ...
- IDEA入门级使用教程
原文链接:https://blog.csdn.net/qq_31655965/article/details/52788374 最智能的IDE IDEA相对于eclipse来说最大的优点就是它比ecl ...