精华内容
下载资源
问答
  • leetcode摸鱼第一天

    2018-12-07 22:51:25
    1.两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。...

    1.两数之和

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

    你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

    示例:

    给定 nums = [2, 7, 11, 15], target = 9

    因为 nums[0] + nums[1] = 2 + 7 = 9
    所以返回 [0, 1]

    class Solution:
        def twoSum(self, nums, target):
            """
            :type nums: List[int]
            :type target: int
            :rtype: List[int]
            """
            count1=0
            for i in nums[:-1]:
                count2=count1+1
                for j in nums[count2:]:                
                    if i + j == target:
                        return [count1,count2]
                    count2 += 1
                count1 += 1
            
    
    展开全文
  • 3月2日 因为想刷题却发现算法和数据结构学的一塌糊涂,所以索性回来重新学习一遍; 话不多说,上内容 这是设计要求 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则...

    3月2日

    因为想刷题却发现算法和数据结构学的一塌糊涂,所以索性回来重新学习一遍;

    话不多说,上内容

    这是设计要求

    设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。

    循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。

    你的实现应该支持如下操作:

    • MyCircularQueue(k): 构造器,设置队列长度为 k 。
    • Front: 从队首获取元素。如果队列为空,返回 -1 。
    • Rear: 获取队尾元素。如果队列为空,返回 -1 。
    • enQueue(value): 向循环队列插入一个元素。如果成功插入则返回真。
    • deQueue(): 从循环队列中删除一个元素。如果成功删除则返回真。
    • isEmpty(): 检查循环队列是否为空。
    • isFull(): 检查循环队列是否已满。

    循环队列有一个问题即判断是空还是满,如果简单的用head == tail 来判断,其实是错误的,因为空和满的时候,实际上head 都是等于tail的,解决办法为,少用一个存储单元,即队空的条件为 head ==  tail,队满的条件为(tail+1)%size == head

    class MyCircularQueue {
        private int[] data;
        private int head;
        private int tail;
        private int size;
    
        /** Initialize your data structure here. Set the size of the queue to be k. */
        public MyCircularQueue(int k) {
            data = new int[k];
            head = -1;
            tail = -1;
            size = k;
    
        }
        
        /** Insert an element into the circular queue. Return true if the operation is successful. */
        public boolean enQueue(int value) {
            if(isFull() == true){
                return false;
            }
            if(isEmpty() == true){
                head = 0;
            }
            tail = (tail + 1) % size;
            data[tail] = value;
            return true;
    
        }
        
        /** Delete an element from the circular queue. Return true if the operation is successful. */
        public boolean deQueue() {
            if(isEmpty() == true){
                return false;
            }
            if(head == tail){
                //此处不判断队满,因为没有影响,反而判断是否只有一个元素
                //因为只有一个元素时,也是可以删除成功的
                head = -1;
                tail = -1;
                return true;
                    
            }
            head = (head + 1) % size;
            return true;
    
        }
        
        /** Get the front item from the queue. */
        public int Front() {
            if(isEmpty() == true){
                return -1;
            }
            return data[head];
    
        }
        
        /** Get the last item from the queue. */
        public int Rear() {
            if(isEmpty() == true){
                return -1;
            }
            return data[tail];
    
        }
        
        /** Checks whether the circular queue is empty or not. */
        public boolean isEmpty() {
            return head == -1;
    
        }
        
        /** Checks whether the circular queue is full or not. */
        public boolean isFull() {
            return ((tail + 1) % size) == head;
    
        }
    }

     

    展开全文
  • 今天是3月3日 DFS和BFS是很常用的算法之一,然而我昨天加今天都没有完全把他弄明白我实在是太拉胯了,原理能...转自LeetCode 模板1 /** * Return the length of the shortest path between root and target no...

    今天是3月3日

    DFS和BFS是很常用的算法之一,然而我昨天加今天都没有完全把他弄明白我实在是太拉胯了,原理能理解但是让我完整的写出来一个代码就很难,还是代码功底不到位。

    下面贴出官方给的模板,便于我经常巩固学习

    转自LeetCode

    模板1

    /**
     * Return the length of the shortest path between root and target node.
     */
    int BFS(Node root, Node target) {
        Queue<Node> queue;  // store all nodes which are waiting to be processed
        int step = 0;       // number of steps neeeded from root to current node
        // initialize
        add root to queue;
        // BFS
        while (queue is not empty) {
            step = step + 1;
            // iterate the nodes which are already in the queue
            int size = queue.size();
            for (int i = 0; i < size; ++i) {
                Node cur = the first node in queue;
                return step if cur is target;
                for (Node next : the neighbors of cur) {
                    add next to queue;
                }
                remove the first node from queue;
            }
        }
        return -1;          // there is no path from root to target
    }
    //如代码所示,在每一轮中,队列中的结点是等待处理的结点。
    //在每个更外一层的 while 循环之后,我们距离根结点更远一步。变量 step 指示从根结点到我们正在访问的当前结点的距离。

    模板2

    /**
     * Return the length of the shortest path between root and target node.
     */
    int BFS(Node root, Node target) {
        Queue<Node> queue;  // store all nodes which are waiting to be processed
        Set<Node> used;     // store all the used nodes
        int step = 0;       // number of steps neeeded from root to current node
        // initialize
        add root to queue;
        add root to used;
        // BFS
        while (queue is not empty) {
            step = step + 1;
            // iterate the nodes which are already in the queue
            int size = queue.size();
            for (int i = 0; i < size; ++i) {
                Node cur = the first node in queue;
                return step if cur is target;
                for (Node next : the neighbors of cur) {
                    if (next is not in used) {
                        add next to queue;
                        add next to used;
                    }
                }
                remove the first node from queue;
            }
        }
        return -1;          // there is no path from root to target
    }

     

    展开全文
  • 平时刷Leetcode都要在idea里复制,然后在idea中进行复制调试。然后平时做好的题目不好整理。这次下了个Leetcode插件,自动生成代码,还是很方便的。 下载插件很简单就不说了,直接安装就好。 安装好了如上图,可以...

    平时刷Leetcode都要在idea里复制,然后在idea中进行复制调试。然后平时做好的题目不好整理。这次下了个Leetcode插件,自动生成代码,还是很方便的。

    下载插件很简单就不说了,直接安装就好。
    在这里插入图片描述
    安装好了如上图,可以点击登陆,注意力扣账户必须进行进行邮件的验证。

    然后另外一个需要注意的是在setting里,配置模版:
    在这里插入图片描述

    //CodeFileName
    P$!{question.frontendQuestionId}$!velocityTool.camelCaseName(${question.titleSlug})
    
    //CodeTemplate
    ${question.content}
    
    package leetcode.editor.cn;
    //Java:${question.title}
    public class P${question.frontendQuestionId}$!velocityTool.camelCaseName(${question.titleSlug}){
        public static void main(String[] args) {
            Solution solution = new P$!{question.frontendQuestionId}$!velocityTool.camelCaseName(${question.titleSlug})().new Solution();
            // TO TEST
        }
        ${question.code}
    }
    
    //TemplateConstant
    
    ${question.title}	题目标题	示例:两数之和
    ${question.titleSlug}	题目标记	示例:two-sum
    ${question.frontendQuestionId}	题目编号
    ${question.content}	题目描述
    ${question.code}	题目代码
    $!velocityTool.camelCaseName(str)	转换字符为驼峰样式
    $!velocityTool.snakeCaseName(str)	转换字符为蛇形样式
    

    其他的没有什么特别注意的地方。

    思考: 这个插件是在知乎上看到的,作者当时觉得刷题麻烦就做了这个插件,为什么我没有想到这个呢?我是否也能开发出这种插件?

    展开全文
  • 首先你得有vscode,这个就不多说了,略过。 下载node.js 下面是v13的下载地址,v14 win7无法使用。 ... 我下载的exe,记住路径,然后配置环境变量。...vscode里安装leetcode插件 ctrl+shift+x 或者点 搜索leet..
  • 原文:装上这几个 VSCode 插件后,上班划水摸鱼不是梦作者:GitHubDailyFundebug经授权转载,版权归原作者所有。最近在微博分享了几个 VSCode 划水插件,让我不禁感叹这班程序员也太会玩了吧。今天我就花点时间,...
  • 今天我就花点时间,简单整理下这几个划水插件,让大家可以分享给朋友,一起愉快的划水摸鱼 ?daily-anime如果你喜欢二次元,喜欢动漫,那这个插件就是为你量身定制的。这款插件让开发者可以在 VSCode 上划水追番,第...
  • 这些身怀绝技的插件不仅仅是 Coding 效率提升利器,也能是大家「摸鱼」的好帮手。大家可能会疑惑了,一个代码编辑器和「摸鱼」有什么关系?就让我们带上疑惑走进今天的「摸鱼效率提升之旅」吧!VS C...
  • 程序员如何摸鱼, 10 个摸鱼神器分享给大家

    千次阅读 多人点赞 2021-01-20 11:36:48
    问:程序员该不该上班摸鱼? 答:认真上班是劳动换取报酬,上班摸鱼才是从老板... 方案八:摸鱼LeetCode 方案九:在地址栏玩贪吃蛇 方案十:终极摸鱼必杀技 写在后面(点赞过 200,我就是掉光头发也出下期)
  • 面对没刷过的题目,如果一时没有头绪,就花半个小时思考该题与必刷题的联系,如果思考不出来,实在是意味着你对必刷题的理解不够深入,亦或者意味着你的智商不适合摸鱼。由于研二前应该没有机试,本文的必刷题尚未...
  • leetcode_moyu-源码

    2021-03-16 15:06:57
    为福仔leetcode刷题摸鱼的记录 今日摸五鱼明日摸十鱼然后得一夕安寝起视leetcode而新鱼又至矣 摸鱼者鱼恒摸之有鱼于此其待我以python
  • 6.28日摸鱼

    千次阅读 2020-06-28 21:52:03
    leetcode刷题 1.第一题,杨辉三角,题目如下: 这道题的思路很简单,处理好一行和0行的特殊情况后,就是动态生成,用一个demo来表示当前生成的列表,列表首尾为1,此外demo[j]等于上一行的j-1个元素加上第j个元素之...
  • Github - 汇集全世界人类智慧的代码“基因库” ...作为全世界最大的代码托管平台,Github 为程序员们提供了...算法刷题网站肯定绕不开LeetCode,业界一直有句话说把LeetCode上的题都刷烂熟了就可以进谷歌了。不过上面...
  • vscode摸鱼插件!!!

    千次阅读 2020-10-16 09:22:47
    第一款:韭菜盒子 /vscode-stocks 看股票走势。 第二款:daily-anime ...第六款:vscode-leetcode 刷算法。 第七款: Zhihu On VScode 刷知乎。 第八款:fakeupdate 模仿各种电脑系统。 第九款:毒鸡汤 扎心
  • LeetCode 47. Permutations II

    2020-05-17 09:32:58
    Description: Given a collection of numbers that might contain duplicates, return all possible unique permutations. ...(虽然去重可以直接在list遍历中去了,但是,直接最后改,坏处是时间开
  • 有国人做了一个vscode的leetcode插件,超级好用哇,以后上班摸鱼时可以刷刷题了 /* * @lc app=leetcode.cn id=125 lang=java * * [125] 验证回文串 * * ...
  • leetcode之两数之和

    2020-02-27 16:43:05
    摸鱼近一年,最终研果真没希望考上了。还是老老实实挨社会的毒打吧。leetcode刷题好平台,先用它来熟悉很久未上手的算法吧! 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的...
  • 安利一款IDEA的插件,上班摸鱼属实方便,表面上我在干活,实际上我在刷算法题。在IDEA中在线刷题,Leetcode Editor插件 1、插件安装 安装后对IDEA进行重启 2、安装后使用 插件安装后进行插件配置 LoginName:...
  • 离上一次许下目标好好学习努力写文章好像已经很久了,然而我却一直都在摸鱼(悲),先自我检讨一下,我好咸鱼。 近期终于有了点动力想提升自己,顺便写点东西记录一下,虽然不知道这份劲头能持续多久就是了,反正先...
  • 这是第73篇LeetCode题解 递归眼下正是秋招季,周围的同学面试都面疯了,我还在日常摸鱼,在一番思索之后我决定继续更新公众号?,要不然要被别人甩两条街了。后面继续更新一些高质量的题解以及部分计算机相关理论知识...
  • 单纯是想写一下摸鱼这么久以来第一个从想到写两分钟的题目 我们购买当前商品 买第i个商品,我们可能获得减少j元的折扣 满足以下两个要求 1.j>i 2.price[j]<=price[i] 因为返回最小下标 那么只要一旦两个...
  • LeetCode 38 报数-c++语言

    2018-08-13 02:12:30
    摸鱼数月,终于想起来学习; 思绪比较乱,写的比较乱,一般是不想写东西的,但这道题很有意思,单在理解这个题的题意上都费了一番功夫; 理解: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1.第一行设置为1,是个起点...
  • 寻找数组的中心索引这一次打卡不知道又了多久的,周五没做题,周日补上。题目给定一个整数类型的数组nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有...
  • 这一次打卡不知道又了多久的,周五没做题,周日补上。 题目 给定一个整数类型的数组nums,请编写一个能够返回数组“中心索引”的方法。 我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和...
  • 上班摸鱼刷题玩,刚好试试leetcode,第一题太简单了 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 给定 nums = [2, 7, 11...

空空如也

空空如也

1 2 3
收藏数 44
精华内容 17
关键字:

leetcode摸鱼