「负雪明烛」公众号是负雪明烛维护的一个算法题解公众号,致力于帮助大家刷题.找工作.欢迎关注. 大家好,我是负雪明烛.今天跟大家聊一聊「LeetCode应该怎么刷?」这个话题. 我是大二的时候开始接触 LeetCode 的,那时候 LeetCode 只有 400 题,我本来打算每天做 1 个题,但是由于当时觉得题目太难没坚持下去.在大四考研后和研一研二的两年左右的时间,我刷了 800 多道题(现在已经900多),并且大多数题目做了 2~3 遍.那么我是怎么做到的呢? 一.入门篇 1. 刷题姿势 刚…
Server:CentOS 7.0 MySQL : 5.7.20 MySQL Community Server (GPL) 1.首次登陆后修改密码: 根据安装时的选择不同,有mysqld_safe用mysqld_safe,没有就用mysqld.正常安装都应该在/usr/sbin目录下 a)启动mysql mysqld_safe --user=mysql --skip-grant-tables --skip-networking & b)无密码进入msyql mysql -u root mysql…
题意(FJUT翻译HDU): 钱陶陶家门前有一棵苹果树. 秋天来了,树上的n个苹果成熟了,淘淘会去采摘这些苹果. 到园子里摘苹果时,淘淘将这些苹果从第一个苹果扫到最后一个. 如果当前的苹果是第一个苹果,或者它严格高于之前选择的苹果,那么淘淘将采摘这个苹果; 否则,他不会选择. 题目来了:已知这些苹果的高度为h1,h2,⋯,hn,您需要回答一些独立的查询. 每个查询是两个整数p,q,表示如果第p个苹果的高度修改为q,询问当前淘淘将摘到的苹果的数量. 你能解决这个问题吗? 思路:pre表示1~i的最…
由于Flutter boost目前还没有很好的解决方案,所以只能魔改了,大致的思路就是在刚打开app的时候就初始化一个不可见的Flutter页面,让其自动注册&初始化. 先编写一个FlutterFragment package xxx; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import andro…
(今日完成:Two Sum, Add Two Numbers, Longest Substring Without Repeating Characters, Median of Two Sorted Arrays, Longest Palindromic Substring) 恼人的median of two sorted arrays 前几年google的必考题,现在考的比较少了,思路就是binary search,具体来说, 如果是一个array,因为是sorted,找到第k个元素是tri…
Graph Valid Tree 要点:本身题不难,关键是这题涉及几道关联题目,要清楚之间的差别和关联才能解类似题:isTree就比isCycle多了检查连通性,所以这一系列题从结构上分以下三部分 given a graph or edges?有可能给点的编号,然后只给edges,这个最适合用union-find.如果用dfs,那么要先转化成adjacent list表示.这样如果直接给的连通关系的graph,那么dfs就比较直接了 isCycle:directed or undirected:…
3Sum Smaller 要点:类似的题还有lintcode的triangle count:https://github.com/delbao/onlineJudge/blob/master/lintcode/109.triangle-count.java i,j,k的规律:i:最外层,每走一步,j要重新来过,j第二层,起始为i+1,k初始取决于题目.主要利用了: [j,k]之间的增序:当k满足条件后,顺序之后的也都满足条件,这时候就可以继续移动j了. 移动j的时候,由于j位置的元素变大了,k在…
Closest Binary Search Tree Value II 要点:通过iterator,把closest值附近的k个closest找到,从而time降为O(klgn) in order iterator的本质:栈存当前见到,未来还要再访问到的node.当前见到是沿着left访问,而未来再见到就是到了right branch 这题的iterator实现和一般的in-order iterator略有不同:inorder访问后的结点并不出栈而是直接继续push right subtree,…
要点:这题是combination的应用,从左向右想比从右向左容易. 因为有结果从小到大的要求,暗示用combintion而不是permutation 其实就是从小到大验证因子,每个因子和其对称因子立即成为一个res到solutions里 因子的范围是i*i<=n,因为对称的部分已经在验证当前因子的时候push到solutions里了 每层的循环内从当前因子开始验证,每层要分解的数是上一层分解后剩下的 错误点: confusion:每一个因子都有可能,所以是combination 与combin…
Walls and Gates 要点: 同样是bfs,这题可以用渲染的方法(即全部gate进初始q),注意区别Shortest Distance from All Buildings.那道题要找到某个点到"all" buildings的距离,所以不能用渲染,因为不是到该点的一条路径.而本题类似surrounded region,最终的最佳路径只取一条路径 bfs的方法全是在展开后入q前更新 剪枝:只要值更新了,就一定是最小值.不用入q了 错误点: 忘了更新距离.因为gate是0,所以距…