精华内容
下载资源
问答
  • leetcode的说明

    2019-07-07 16:50:31
    我昨天做了leetcode简单题目的第一题,花了一个多小时,做起来觉得题目并不复杂却很吃力,开始怀疑自己觉得自己是不是挺笨,心态有点炸裂。好在上网冲浪发现许多小伙伴都是比较吃力,也看到了很多好的解答,对自己刷...
    • 我昨天做了leetcode简单题目的第一题,花了一个多小时,做起来觉得题目并不复杂却很吃力,开始怀疑自己觉得自己是不是挺笨,心态有点炸裂。好在上网冲浪发现许多小伙伴都是比较吃力,也看到了很多好的解答,对自己刷leetcode也想划分一下任务。
    • 我看到有龟系刷题,兔系刷题,结合我目前的状态想了想,我选择兔系刷题。从7.7号开始每天刷3道easy,每题一个小时以内写完并总结成博客,只要10分钟内没思路没想法,就吃透别人的好代码,这样快速刷100道easy左右结束。每天刷几道的数量根据我以后是否能加快的速度来定。
    • 我自知道我的缺点,代码量不够,解决实际问题的能力不够,缺乏一针见血的思路,做事较慢,思维不够发散,这样我便决定兔系的快速刷题通吃,汲他人的长处来壮大自己。
    • 我觉得有些厉害的人解题非常的巧妙而又精准,算法的时间和空间复杂度都能达到极佳的性能。而我自己往往解决一个问题思路比较固定,解决过程也想的复杂繁琐,这也正是我刷leetcode的原因,希望通过刷题让自己的代码能够精益求精。
    • keep coding。
    • 刷了5道题,发现自己有时候一些代码的小细节不是很熟悉,还有一些常用的小工具,比如C语言中strncpy,strcmp这类的函数,二级指针的使用等,C++中模板库中函数的使用,学了面向对象后解决具体问题也少,明天(7.10号)打算一边做leetcode一边再看C/C+±primer-plus。
    展开全文
  • Leetcode系列开题总结

    2015-01-05 08:53:09
    LeetCode是一个不错的免费OJ,可以作为广大程序员同胞在无聊时训练自己编码能力的一个平台。 总的来说LeetCode上的题都不算难,中规中矩,如果觉得自己做起来比较吃力,可能是算法基本功不够扎实。我比较推荐...

    LeetCode是一个很不错的免费OJ,可以作为广大程序员同胞在无聊时训练自己编码能力的一个平台。

    总的来说LeetCode上的题都不算难,中规中矩,如果觉得自己做起来比较吃力,可能是算法基本功不够扎实。我比较推荐Coursera上Stanford开的一个Algorithm课程,以及《挑战程序设计》这本书,讲的都是算法问题,比较适合算法基本功还不够扎实的同胞。

    截止目前,LeetCode上共有173道算法问题,目前也在持续更新新的题目。我之所以打算把LeetCode上的自己的解题思路总结在博客中,是因为某一天当我查看LeetCode上的Submission记录时,发现早期的代码都没有被记录下来,只有最近若干次提交的代码在Submission记录中有保存%>_<% 。一直以为需要review代码时只要去翻翻Submission记录,现在看来这是靠不住的,只能靠自己记录下来,老了无聊时翻翻还可以感受下当年自己写的傻逼代码%>_<%

    我应该会保持一周更新至少5道题的节奏,目前已经干掉了66道题,由于这些早期干掉的题的代码很多已经被LeetCode抛弃了,我会在未来将他们补上来。

    新年第一周,祝广大程序员同胞赢取白富美:-D

    展开全文
  • 如果你刷leetcode觉得吃力,那么一定需要这份谷歌大佬的leetcode刷题笔记! 在这里推荐一个谷歌大佬的刷题笔记,每一道题的题解都写得非常清楚. 作者在美国卡内基梅隆大学攻读硕士学位时,为了准备实习秋招,他从夏天...

    如果你刷leetcode觉得吃力,那么一定需要这份谷歌大佬的leetcode刷题笔记!
    在这里推荐一个谷歌大佬的刷题笔记,每一道题的题解都写得非常清楚.

    作者在美国卡内基梅隆大学攻读硕士学位时,为了准备实习秋招,他从夏天开始整理 Leetcode 上的题目,几个月的时间,刷了几百道题目。

    凭借着扎实的基础和长期的勤奋,他很快找到了如愿的工作。

    入职前,闲暇的时候,他突然想到,自己刷了那么多题,而且对很多题目的解法有着总结,为何不把这些题目归纳总结一些,做成一个便于后来者阅读学习的电子书呢?

    有了想法,作为行动派的他说干就干,于是这样一本制作精美且免费开源的书籍出现在大家面前。

    引用他的话来说:

    本书分为算法和数据结构两大部分,又细分了十五个章节,详细讲解了刷LeetCode时常用的技巧。我把题目精简到了101道,一是呼应了本书的标题,二是不想让读者阅读和练习时间过长。

    这么做不太好的一点是,如果只练习这101道题,读者可能对算法和数据结构的掌握不够扎实。因此在每一章节的末尾,我都加上了一些推荐的练习题,并给出了一些解法提示,希望读者在理解每一章节后把练习题也完成。

    从我的直观感受来说,这是一本用心的数据结构算法类书籍,全书总共 143 页篇幅,详细讲解算法的内容有十五个章节。

    每个章节都是一些重要的知识点,伴有基础讲解和例题介绍,当然,也有一些推荐的练习题。

    话不多说,让我们来看一下书的目录:

    整本书,我仔细看了一遍,并对书中的一些解题思路和代码进行校验。

    从我的直观感受来说,这是一本用心的数据结构算法类书籍,全书总共 143 页篇幅,详细讲解算法的内容有十五个章节。

    每个章节都是一些重要的知识点,伴有基础讲解和例题介绍,当然,也有一些推荐的练习题。

    话不多说,让我们来看一下书的目录:

    image-20201117000421044

    第二章是讲动态规划、贪心算法的,这里摘取了一点内容,大家可以看到谷歌师兄对于知识点的讲解是非常透彻且细致的。

    image-20201117000613375

    我已经帮大家把这本开源的电子书下载好了,大家先看这本书,然后对照着去leetcode刷题,坚持两个月以上一定能克服的。

    链接: https://pan.baidu.com/s/1PERa4bL7K-FoXit5440YNQ

    提取码: 14fn

    答应我,别做收藏怪,下载了就打开好好学习~

    这本书的简介:

    这本书分为算法和数据结构两大部分,又细分了十五个章节,详细讲解了刷 LeetCode 时常用 的技巧。我把题目精简到了 101 道,一是呼应了本书的标题,二是不想让读者阅读和练习时间过 长。这么做不太好的一点是,如果只练习这 101 道题,读者可能对算法和数据结构的掌握不够扎 实。因此在每一章节的末尾,我都加上了一些推荐的练习题,并给出了一些解法提示,希望读者 在理解每一章节后把练习题也完成。

    展开全文
  • leetcode做题记录

    2019-09-09 11:03:14
    给自己定下目标每天刷几道题,这周刚开始,还是有些吃力。 有的是久以前刷过的,一边复习一遍贴下自己的心得,勉强分享一下我的拙见。 Given a valid (IPv4) IP address, return a defanged version of that IP ...

    给自己定下目标每天刷几道题,这周刚开始,还是有些吃力。 有的是很久以前刷过的,一边复习一边贴下自己的心得,勉强分享一下我的拙见。

    1. Given a valid (IPv4) IP address, return a defanged version of that IP address.
      Input: address = “1.1.1.1”
      Output: “1[.]1[.]1[.]1”
      这个题很简单,直接把 . 换成 [.] 就好了,所以直接用python 的replace就好。
    return address.replace('.', '[.]')
    
    1. You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. You want to know how many of the stones you have are also jewels.

    The letters in J are guaranteed distinct, and all characters in J and S are letters. Letters are case sensitive, so “a” is considered a different type of stone from “A”.
    Input: J = “aA”, S = “aAAbbbb”
    Output: 3
    这个也算是比较基础的题,也就是说只要J里面有的值如果S里面也有,那么答案+1 就好了。所以我遍历了J,然后如果遍历的值在S中,里面count 这个值出现的次数,然后加入,得到答案。

    def numJewelsInStones(self, J: str, S: str) -> int:
        result = 0
        for j in J:
            if j in S:
                result += S.count(j)
        return result
    
    1. Given the root node of a binary search tree, return the sum of values of all nodes with value between L and R (inclusive).
      The binary search tree is guaranteed to have unique values.
      这个题实际考察了遍历或者递归(recursion) 的应用,所以如果知道怎么递归一个tree的话,结果很容易就出来啦。但是需要注意的是结果应该是所有 L<result<R 的值,所以应该加 if 来区分。在下面的代码中,我主要设置了3个条件,这个node是在L和R中间呢,还是说他小于L 大于R。
    def rangeSumBST(self, root: TreeNode, L: int, R: int) -> int:
        if not root:
            return 0
        elif L<=root.val <= R:
            return root.val +self.rangeSumBST(root.left, L, R)+self.rangeSumBST(root.right, L, R)
        elif root.val > L:
            return self.rangeSumBST(root.left, L, R)
        elif root.val < R:
            return self.rangeSumBST(root.right, L, R)
    
    1. To Lower Case
      Implement function ToLowerCase() that has a string parameter str, and returns the same string in lowercase.
      这个很简单,因为python区分大小写,lower()可以直接得到答案
    def toLowerCase(self, str: str) -> str:
        return str.lower()
    
    1. Now, given a list of words, each word can be written as a concatenation of the Morse code of each letter. For example, “cba” can be written as “-.-…–…”, (which is the concatenation “-.-.” + “-…” + “.-”). We’ll call such a concatenation, the transformation of a word.
      Return the number of different transformations among all words we have.
      这道题是摩斯电码的匹配问题,因为已经提前给出来了26个字母的电码,我采用的是比较笨的方法, 直接将电码和26个字母匹配起来,用zip来封装。因为要得出来不同的值,所以直接用了set
    def uniqueMorseRepresentations(self, words: List[str]) -> int:
        set_result = []
        word_morse = ''
        letter = ['a','b','c','d','e','f','g','h','i','j','
        k','l','m','n','o','p','q',
                  'r','s','t','u','v','w','x','y','z']
        morse = [".-","-...","-.-.","-..",".","..-.","--.","....","..",
        ".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
        answer = dict(zip(letter,morse))
        for word in words:
            for letter in word:
                word_morse+=answer[letter]
            set_result.append(word_morse)
            word_morse = ''
        set_result = set(set_result)
        return len(set_result)
    
    1. Flipping an Image
      Given a binary matrix A, we want to flip the image horizontally, then invert it, and return the resulting image.

    To flip an image horizontally means that each row of the image is reversed. For example, flipping [1, 1, 0] horizontally results in [0, 1, 1].

    To invert an image means that each 0 is replaced by 1, and each 1 is replaced by 0. For example, inverting [0, 1, 1] results in [1, 0, 0].
    这个题目要求先将list 翻转,然后改变值,由于没有想起来有个reverse的function,卡了好久,其实也比较简单,直接reverse 然后变值

    def flipAndInvertImage(self, A: List[List[int]]) -> List[List[int]]:
        for small_list in A:
            for i in range(len(small_list)):
                if small_list[i] == 0:
                    small_list[i] =1
                else:
                    small_list[i] = 0
            small_list.reverse()
        return A
    
    1. Sort Array By Parity
      Given an array A of non-negative integers, return an array consisting of all the even elements of A, followed by all the odd elements of A.
      要求将list配对后返回,单双数配对。我当时的想法: 如果是双数,直接加到新的list中然后再旧的list中去除,奇数的话最后加。这样虽然可以做但是太慢,所以就有了下面的方法: 因为任何顺序都可以,只要单双数区分开就好了。 只要是双数,永远加第0个位置,单数永远都是最后一个,这样就区分开了。
    def sortArrayByParity(self, A: List[int]) -> List[int]:
        result = []
        for number in A:
            if number%2 == 0:
                result.insert(0,number)
            else:
                result.append(number)
        return result
    
    1. N-Repeated Element in Size 2N Array
      In a array A of size 2N, there are N+1 unique elements, and exactly one of these elements is repeated N times.
      Return the element repeated N times.
      首先这个A肯定是个偶数长度集合,如果长度是4,就2+1 =3个数,长度是6,3+1 = 4个数,长度是10, 就5+1 个数。其实这些都不重要,因为只有一个数重复了,剩下的都出现一次。很简单!
     def repeatedNTimes(self, A: List[int]) -> int:
        for number in A:
            if A.count(number) >1:
                return number
    
    1. Robot Return to Origin
      There is a robot starting at position (0, 0), the origin, on a 2D plane. Given a sequence of its moves, judge if this robot ends up at (0, 0) after it completes its moves.

    The move sequence is represented by a string, and the character moves[i] represents its ith move. Valid moves are R (right), L (left), U (up), and D (down). If the robot returns to the origin after it finishes all of its moves, return true. Otherwise, return false.

    Note: The way that the robot is “facing” is irrelevant. “R” will always make the robot move to the right once, “L” will always make it move left, etc. Also, assume that the magnitude of the robot’s movement is the same for each move.
    简而言之就是上去了就要下来,往左走了就要回来,如果你看完题目直接就想到了这个,哥们和我一样, 是!个! 天! 才! 啊!! 那剩下的就很简单了对不对,只要数目对的上,我管你往哪里走~~。

    def judgeCircle(self, moves: str) -> bool:
        if moves.count('R') == moves.count("L") and moves.count("U") ==moves.count("D"):
            return True
        else:
            return False
    

    2019.9.8 周日。 好啦今天的总结就到这里,希望自己可以坚持下去也欢迎各路大佬神仙指出更优解来帮我·~ diva爱你哟~

    展开全文
  • leetcode之House Robber

    2016-01-01 16:15:08
    目前还不是懂这种算法。做起来非常吃力(基本寸步难行)。这题一开始可以看到一个简单的想法是1 + 3以后的和2 + 4以后的取最大值的递归。然而超时了。。。再接着想方法。最后是利用2分的性质,在中间取一个数进行...
  • 这是我第一次发微博,之前一直都是在有道云笔记... 最近在刷leetcode, 感觉有点吃力,好多思路还是摸不着头脑。不过我相信多看,多练,多思考,肯定会越来越顺的。不扯没用的了,下面直接上题:  题目描述  Given
  • 最近,有小伙伴私信我说,“二哥,刷 LeetCode 觉得很吃力,怎么办?” 作为一个贴心接地气的优质博主,这事咱必须得想办法解决啊,于是我就问了很多身边的大牛,他们一致推荐了这份谷歌师兄的 Leetcode 刷题笔记。 ...
  • 参考了大佬的代码 自己写递归还是很吃力 https://leetcode-cn.com/problems/sum-root-to-leaf-numbers/comments/ /** * @Description 我们写代码,靠的是技术(狗头) * @auther admin * @create 2020-06-25 17:...
  • 今天被人虐了,不开心,打算系统学习下算法,求指导,最好是leetcode有刷题 经验的,我刷的时候 感觉挺吃力。 算法第四版,也有 但是感觉看着挺复杂
  • 刚开始看leetcode我是懵逼的,毕竟自己大二在写过C++后就再也没怎么碰过C++了,看网上的大佬写的解题代码都有点吃力。但是国内多岗位都要求C++,哎,没办法,只能把C++重新捡起来了。 废话不多说,开始写吧。 ...
  •   最近学习动态规划有点吃力,感觉这个东西虽然说是有套路的,但是刚开始的时候还是觉得难。现在网上也有多讲动态规划的原理以及做法的,我就不多说了,主要还是以例子来记录一下最近的心得。 首先就是leetcode...
  • 最近想学习一波数据结构与算法,之前也有学习过部分,但是感觉时间久了会忘记的差不多了,而且学习的不是系统,就是自己突然想到某个知识点就去学习,也有在leetcode上刷题,也是久了就忘记了,自己写的代码就看不...
  • 好久没刷题了,现在算法题做起来都很吃力。接下来开始刷LeetCode,并同时复习算法与数据结构~今晚注册了LeetCode,按难易度排序,选了第一道。原题:You are playing the following Nim Game with your friend: ...
  • 果不其然,错都跟标准错法一样,目前来说动态规划还是很吃力。就写出这个错法就废了不少劲。 class Solution { public: int maxProduct(vector<int> &nums) { int result = nums[0]; int length = ...
  • leetcode 174. Dungeon Game  这一题刷得太有意思了 矩阵 典型dp 但从左上角开始思考时 要考虑到和以及每一个点所需要的health,每个点维持两个值,比较吃力 看了上面链接中的solution,这不就是正难则反...
  • 这是一道查看链表知识的算法题,要求非常简单,合并两个有序链表,但是这道题我理解起来非常吃力,花了久也不能说理解透了。可能对链表的理解还是不够深刻。这道题有两个解法,递归解法和非递归解法。其中递归解法...
  • 前言 众所周知,对于面试而言,《剑指...如果你发现看这本书很吃力,可以先直接参考些网上的代码,照着抄一遍,理解下算法题是应该解题,多抄几道题目,你就对算法题的做法有感觉了,这个高考做固定套路数学题是...
  • 来源:...过了年leetcode的用户量渐渐起来了,1台服务器已经有点吃力,当高峰的时候经常有些请求超时。而且为了防止服务器的单点问题,需要部署多个repl
  • 这个和leetcode47题类似,但每次做都很吃力,之后再回来补思路了…… 具体代码 import java.util.*; class Solution { public String[] permutation(String s) { if(s == null || s.length() == 0){ return new ...
  • 最近开始做LeetCode的题目,发现自己仅仅能做简单的,中等题做起来就很吃力了。所以,恰有时间,就刷刷《算法导论》,并打算用java把算法导论中简单的算法实现下。加深java编程能力。 堆排序,时间复杂度O(nlogn),...
  • 前言众所周知,对于面试而言,...如果你发现看这本书很吃力,可以先直接参考些网上的代码,照着抄一遍,理解下算法题是应该解题,多抄几道题目,你就对算法题的做法有感觉了,这个高考做固定套路数学题是一样的。...
  • 前言众所周知,对于面试而言,...如果你发现看这本书很吃力,可以先直接参考些网上的代码,照着抄一遍,理解下算法题是应该解题,多抄几道题目,你就对算法题的做法有感觉了,这个高考做固定套路数学题是一样的。...
  • 4SumII

    2019-01-09 22:00:26
    LeetCode第16题。...用三层循环,使用一个查找表,时间复杂度为O(n3),很吃力,估计会超时。如果将前2个数组选取的2个值的和与出现的频次以键值对的方式存入Map中,村完后,然后在另外两个数组中两重...
  • 从2月到现在,落下了太多的源码和leetcode,现在写起代码来都有点吃力。  我从最初的C转到C++,MFC其实经过了长一段时间的摸索,看到后来的深入浅出MFC才发现不适合自己。C++系列试用于大型项目,
  • 这道题用文字叙述比较吃力,有图的演示就清晰,此篇文章讲解的好,大家可以参照下 https://leetcode-cn.com/problems/swap-nodes-in-pairs/solution/dong-hua-yan-shi-24-liang-liang-ji...

空空如也

空空如也

1 2
收藏数 25
精华内容 10
关键字:

leetcode很吃力