1、set没有back()函数,今天想到用这个,才发现没有。

2. tuple的initialize_list construct好像不能使用,其实之前没使用过tuple,都是pair,复杂一点的自己写struct或者class,然后写比较的方法。不能用的原因是explicit关键字的限制,其实之前对explicit的关键字不是很了解,现在知道是什么了。不能进行隐式转换,只能显式调用。

3. LeetCode 499. The Maze II

没有权限,不能看。从别处看了下题目,我不会做!感觉抽象成图,然后求最短路径的方法很巧妙,注意枚举的方式,使得路径是字典序最小的一个。(对应的,如果是求字典序最大的呢,需要限制最短路径么?我这个只是瞎想)。求最短路,图最大就是30*30 = 900,可以采用堆优化,也可以不优化,也差不了多少。这题提前预处理出每个点可以到达的点以及权重,是个很好的方法,也可以在求最短路的过程中计算,我没想到,这里的路径可以使用数据保存下来,以便下次再使用。这个是很好的点子,学习一下,也算是dp,记忆化的思想,防止重复计算。

4.  501. Find Mode in Binary Search Tree

这个题,简单的做法,就是遍历,查找众数,然后返回。但是follow up的要求,Follow up: Could you do that without using any extra space? (Assume that the implicit stack space incurred due to recursion does not count). 这个不知道怎么做。有时间查找一下答案。

5. 502. IPO
说实话,一看到这道题,完全懵逼了,心里想,既然是hard,这么难,反正不会做,直接看答案吧!其实,这题挺简单的!

朴素的想法,首先考虑是不是贪心, 先是理解题意,选择的项目不要求同事进行,一个项目的收益,可以作为下一个项目的启动资金。那就是一个一个的项目进行选择,为了使得结果最优,那每次选择的都是当前资金w可以获取收益最大值的项目,那么,这样思路就很明显了!每次,从项目里面选择,cost<=w的项目,然后选择里面里面收益最大的。由于w是单增的,每次满足要求的项目,下次还会满足要求,候选集是不断扩大的,每次我们只需要维护满足cost<=w的项目的 profit大小顺序,每次取最大值,删除,下一次,再次添加新的满足cost<=w的项目,就可以了。好像讲的挺乱的,还是看代码。

 class Solution {
public:
int findMaximizedCapital(int k, int w, vector<int>& p, vector<int>& c) {
vector<pair<int, int>> v;
for (int i = ; i < c.size(); i++) {
v.push_back({c[i], p[i]});
}
sort(v.begin(), v.end());
int i = ;
set<int> se;
map<int, int> ma;
while(k--) {
while(i < v.size() && v[i].first <= w) {
se.insert(v[i].second);
ma[v[i].second ]++;
i++;
}
if(!se.empty()) {
int t = *se.rbegin();
w += t;
ma[t]--;
if(ma[t] == ) {
ma.erase(t);
se.erase(t);
}
}
}
return w;
}
};

感觉还是缺少对题目的分析,思考!遇到一个难题(有时候可能很简单),不知道怎么入手,不知道怎么转化,就像这道题目,分析出需要什么,有没有单调的性质,需要维护什么,然后考虑用什么数据结构实现,先后写代码,调试!如果还不能过,思考哪里可以优化,什么边界条件没有考虑,进一步进行改进。

几道leetcode不会做的题目的更多相关文章

  1. 最近几道hihocode不会做的题目

    几个易错点 1.数据范围一定要开大,一般多开10个或者5个. 2. 从经常写 int a[n], 然后访问a[n], 这显然会下标越界. 3. 浮点数,无法精确的比较,等于,大于,小于, 都需要使用e ...

  2. 看完互联网大佬的「LeetCode 刷题手册」, 手撕了 400 道 Leetcode 算法题

    大家好,我是 程序员小熊 ,来自 大厂 的程序猿.相信绝大部分程序猿都有一个进大厂的梦想,但相较于以前,目前大厂的面试,只要是研发相关岗位,算法题基本少不了,所以现在很多人都会去刷 Leetcode ...

  3. LeetCode: Palindrome 回文相关题目

    LeetCode: Palindrome 回文相关题目汇总 LeetCode: Palindrome Partitioning 解题报告 LeetCode: Palindrome Partitioni ...

  4. [LeetCode] string整体做hash key,窗口思想复杂度O(n)。附来自LeetCode的4例题(标题有字数限制,写不下所有例题题目 T.T)

    引言 在字符串类型的题目中,常常在解题的时候涉及到大量的字符串的两两比较,比如要统计某一个字符串出现的次数.如果每次比较都通过挨个字符比较的方式,那么毫无疑问是非常占用时间的,因此在一些情况下,我们可 ...

  5. 为什么说每个程序员都应该刷几道LeetCode?

    2015年即将过去,最近在回顾和总结过去一年的工作经历,发现自己并不能算是一名合格的程序员. Google某前员工Lucida在文章<白板编程访谈——Why,What,How>当中写道: ...

  6. 如何两个月刷400道leetcode

    前言随着互联网寒潮的到来, 越来越多的互联网公司提高了面试的难度,其中之一就是加大了面试当中手撕算法题的比例.这里说的算法题不是深度学习,机器学习这类的算法,而是排序,广度优先,动态规划这类既考核数据 ...

  7. 刷14道leetcode的总结

    引子 为什么我要刷leetcode?换工作?不是!那是?玩!巴菲特的双目标清单系统,基本方法是列两个清单,一个是职业生涯最重要的目标(不超过5个),另一个是比较重要的目标.对于比较重要的目标,要像躲避 ...

  8. 几道hihocoder不会做的题

    1.https://hihocoder.com/problemset/problem/1433?sid=970287 boarding passes,不会做,看的别人的代码,现在还不是很理解. 2.  ...

  9. Leetcode problems classified by company 题目按公司分类(Last updated: October 2, 2017)

    All LeetCode Questions List 题目汇总 Sorted by frequency of problems that appear in real interviews. Las ...

随机推荐

  1. MVC POST请求后执行javascript代码

    [HttpPost] public ActionResult PostTest() { //你的业务代码 //...... //要执行的js string js = "window.loca ...

  2. logging模块-logging.basicConfig、logger.setLevel、handler.setLevel优先级

    logging.basicConfig < handler.setLevel < logger.setLevel 1.脚本中没有配置logger.setLevel会使用handler.se ...

  3. 前端工具gulp2

    var gulp = require('gulp'); var less = require('gulp-less'); var htmlmin = require('gulp-htmlmin'); ...

  4. 【转载】JSTL 标签大全详解

    版权声明:本文为博主原创文章,转载请注明出处,冷血之心的博客. https://blog.csdn.net/qq_25827845/article/details/53311722 (尊重劳动成果,转 ...

  5. 【剑指Offer】 24、二叉树中和为某一值的路径

      题目描述:   输入一颗二叉树的根结点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径.(注意: 在返回值的list中, ...

  6. [jzoj5791]【NOIP2008模拟】阶乘 (数学)

    传送门 Description 有n个正整数a[i],设它们乘积为p,你可以给p乘上一个正整数q,使p*q刚好为正整数m的阶乘,求m的最小值. Input 共两行. 第一行一个正整数n. 第二行n个正 ...

  7. Linux—Ubuntu14.0.5设置MySQL的字符集

    1.mysql配置文件地址 cd /etc/mysql/my.cnf 2.在[mysqld]在下方添加以下代码 [mysqld] init_connect='SET collation_connect ...

  8. Emacs学习笔记之主模式笔记

    % 模式相关—————————————————————————— 这里经常用的也就各种语言相对应的模式,有些就没再写进去,比如f90等模式 Fundamental mode 基本模式         ...

  9. 5G的前景以及意义

    首先来介绍一下5G:5G网络是第五代移动通信网络,其峰值理论传输速度可达每8秒1GB,比4G网络的传输速度快数百倍.举例来说,一部1G的电影可在8秒之内下载完成. 5G的技术原理是:三星电子通过研究和 ...

  10. html绑定点击事件传值

    1.方法1function radioSelect(event){ var valueRadio=event.value; if(valueRadio =='目的口岸'){ return '目的口岸' ...