leetcode
刻苦驴啊
中山大学在读本科生
展开
-
Leetcode: House Robber
最近做了leetcode上三道动态规划的题,觉得很不错,题目的评价也不错,故作此记录。1、198. House Robber题意:一组直线排列的房屋,一个小偷要进屋偷钱,如果小偷偷了相邻两座房屋就会触发报警系统,问在不触发报警系统的前提下小偷最多可以偷到多少钱。难度:esay思路:1、由于是线性排列,所以一间房屋的相邻房屋只有其左右两间房屋,当我们依次查看房屋时,则一间房屋的相...原创 2019-06-13 20:03:12 · 466 阅读 · 0 评论 -
Leetcode:200题总结(五)
718. Maximum Length of Repeated Subarray给定两个序列,求同时出现在两个序列中的最长子列的长度。思路:因为相同子列可以出现在两个序列的任意位置,所以比较直接的想法是用两个嵌套的循环实现对两个序列中元素的遍历,并且结合动态规划。顺便记录一下二维数组的初始化方式:vector<vector<int>> dp(A.size()+1...原创 2019-02-23 13:27:33 · 340 阅读 · 0 评论 -
Leetcode:200题总结(四)
605. Can Place Flowers给定一组序列,表示了当前的种花情况,再给一个数字,然后判断在现有的情况下还能否种上指定数量的花。这题我觉得是比较典型的分情况讨论的题,各种可能的情况分清了,就不难了。我的思路就是分情况,然后按照最大限度去“种花”,如果最大限度还不行,那就真的不行了种不了了。class Solution {public: bool canPlac...原创 2019-02-16 14:16:10 · 441 阅读 · 0 评论 -
Leetcode:200题总结(三)
122. Best Time to Buy and Sell Stock II很简单的一题,但我没能一眼看出... 记录这道题是想记录一个大概的思想,就是可以把一个连续的过程分为各个离散的易求的过程。这样说可能有点泛,意会吧。class Solution {public: int maxProfit(vector<int>& prices) { ...原创 2019-02-13 20:10:48 · 256 阅读 · 0 评论 -
Leetcode:200题总结(二)
【每一次总结一页中已经做过的题目】▲二因为维vector的初始化:```vector<vector<int>> ans(n);for(auto& a:ans) a.assign(m,0);```542 . 01 Matrix求最邻近的cell为0的距离。**涉及图和最短距离,用BFS很容易理解**(借助队列)679...原创 2019-02-12 23:24:42 · 273 阅读 · 0 评论 -
Leetcode:200题总结(一)
题目做后还是要做一下总结,才能确切的知道自己通过做题收获了什么。之前我一直享受刷题的快感,懒于及时做整理、总结,拖到了现在,刷了200题才打算开始。这200题中有水题,有自己冥思苦想才解出的题,也有苦想之后做不出来然后看答案的题,也有一看题就知道自己不会做然后直接看答案的题。979. Distribute Coins in Binary Treeclass Solution {publi...原创 2019-02-12 21:19:53 · 5016 阅读 · 0 评论 -
leetcode contest 143
一、1103. Distribute Candies to People一道简单题,不用多说,适合刚学编程的朋友做。按着看完题目后的常规思路,一个人一个人分配糖果就好。class Solution {public: vector<int> distributeCandies(int candies, int n) { vector<int&...原创 2019-06-30 16:09:20 · 268 阅读 · 0 评论 -
leetcode contest 145
一、1122. Relative Sort Array这题很简单,按照题目要求写就好。先用map对arr1中的元素计数然后按照arr2中元素的顺序构建答案数组。class Solution {public: vector<int> relativeSortArray(vector<int>& arr1, vector<int>&a...原创 2019-07-16 11:38:06 · 346 阅读 · 0 评论 -
Tarjan算法求割边——leetcode1192
本文学习自 Tarjan算法:求解图的割点与桥(割边),以leetcode1192题为练习讲述割边的求法。一、割边的定义在无向图中,若去掉某条边会导致图中的连通分量增加,则这条边称为割边(或称为桥)。而连通分量,就是一个图的某个子图,该子图中的所有顶点互相连通(任意两个顶点之间都存在可以互相到达的路径),而这些顶点都与子图之外的其他顶点不连通。二、Tarjan算法原理...原创 2019-09-17 14:25:15 · 1896 阅读 · 0 评论 -
leetcode contest 142
先记录前三题的题解,最后一题在规定时间内我没做出来,看discuss区貌似测试样例也有错,加上要期末考了没太多时间钻研,就先不记录了。一、1093. Statistics from a Large Sample这题是给你一串数据,A[i]=j表示数字i出现了j次。要你求这组数据的最小值、最大值、中位数、均值、众数。感觉这题没什么质量(虽然我一开始题目看错了,浪费了一些时间),评价也不是...原创 2019-06-23 16:28:49 · 201 阅读 · 0 评论 -
leetcode contest 141
一、1089. Duplicate Zeros给你一个长度固定的整数数组arr,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。注意:请不要在超过该数组长度的位置写入元素。要求:请对输入的数组就地进行上述修改,不要从函数返回任何东西一道难度easy的题,要通过测试很简单,但是一般人都是直接写个空间复杂度为O(n)的算法,比如我。class Solution...原创 2019-06-16 19:41:27 · 294 阅读 · 2 评论 -
leetcode contest 140
一、Occurrences After Bigram这题比较简答。就是给你一个文本类似的字符串,再给你两个单词,要你找出文本中连续出现给定的两个单词后的第三个单词(可能有多个)。因为文本字符串中的单词是以空格分割的,恰好前段时间写python代码时觉得python在处理字符串分割这块很方便,所以我直接用python写这题。class Solution: def findOcu...原创 2019-06-09 16:22:06 · 239 阅读 · 0 评论 -
Leetcode contest 139
这次contest对我来说难度比较大,一些问题只会暴力求解(TLE),从思考到弄懂题目花了我挺多时间。一、1071. Greatest Common Divisor of Strings这题我用的暴力求解的方法。由于是要找到一个最长的字符串使得给定的两个字符串S1和S2都是由该字符串组成,所以我们要找的那个字符串的最大长度一定不会超过S1和S2中较小的那个长度。因此我假定要找的字符...原创 2019-06-03 13:55:36 · 287 阅读 · 1 评论 -
Leetcode contest 138
一、1052. Grumpy Bookstore Owner解题思路:1、求固定大小的最大连续子序列把题目转换为求一个序列的固定长度的最大连续子序列去做。在该子序列内所有custommers都是满意的,在该子序列外customers是否满意取决于对应位置的grumpy的值。利用前缀和实现对连续子序列的和的O(1)求解class Solution {public: i...原创 2019-05-27 10:01:41 · 301 阅读 · 0 评论 -
Leetcode:两道不错的动态规划题目
觉得这两题好是因为这两题可以通过转化为其他比较容易分析的问题来求解。416. Partition Equal Subset Sum题目描述:Given a non-empty array containing only positive integers, find if the array can be partitioned into two subsets such tha...原创 2019-05-19 20:18:37 · 380 阅读 · 0 评论 -
Leetcode: Single Number(Ⅰ、Ⅱ、Ⅲ)
最近做了Leetcode上有三道相似的关于位运算的题,记录一下思路。做了第一道比较简单的题之后再做另外两道时,虽然知道要使用异或,但就是做不出来。这三道题常规解法都不难,但如果你想真正达到题目作者的要求就有难度,难就难在你需要用O(n)的时间复杂度以及O(1)的空间复杂度。重点在于O(1)的空间复杂度。136.Single NumberGiven a non-emp...原创 2019-05-05 13:53:36 · 258 阅读 · 0 评论 -
Leetcode:动态规划学习
记录最近在Leetcode上做DP题目时碰到的感觉让我学到东西的题。1、Shortest Path Visiting All Nodes(847)题目描述:An undirected, connected graph of N nodes (labeled0, 1, 2, ..., N-1) is given as graph.graph.length = N, and j...原创 2019-05-01 13:23:42 · 747 阅读 · 1 评论 -
leetcode中可以用背包问题思想解题的题
这两天为了复习背包问题,回顾了我之前写的博客,并且找了几道leetcode的题目练练手。leetcode上没有专门针对背包问题的题目,但有可以用背包思想解题的题。1、Coin Change(Leetcode 322)You are given coins of different denominations and a total amount of money amount. ...原创 2019-04-29 10:13:38 · 3587 阅读 · 1 评论 -
(Leetcode 36、37)回溯法解数独问题
通过两道leetcode的题目来了解如何用回溯法求解数独问题。其实只是简单的回溯法的应用。一、给你一个数独题目,让你判断给出的数字是否合理 这道题跟回溯没关系,只是leetcode下关于数独的题目有两题,这是其中的一题,由这题引入一种判断数独九宫格某一位置上的元素是否重复。题目描述:判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。...原创 2019-04-23 22:41:06 · 600 阅读 · 0 评论 -
数据结构与算法:从leetcode中学习链表算法
前言链表是一种典型的数据结构,同时又有许多关于链表的算法,如链表反转、排序等等。最近也了解到面试对算法的考察是重要的一部分,因此我想通过leetcode做专项练习,把其中关于链表的好题认认真真做一遍,总结出来,化为己用。希望能对以后找工作有所帮助。终于把Leetcode上链表专题中非会员题目都做了一遍,真的有种受益匪浅的感觉,既复习了之前学过的知识和做过的题目,也学到了新的知识。总体感...原创 2019-10-10 08:52:39 · 771 阅读 · 1 评论