刷leetcode】的更多相关文章

最近刷LeetCode比较频繁,就购买了官方的参考电子书 (CleanCodeHandbook),里面有题目的解析和范例源代码,可以省去非常多寻找免费经验分享内容和整理这些资料的时间.惊喜的是,里面的所有源代码都是用java语言写的. 接下来的一段时间里,我会将里面的大部分内容翻译成中文,再加上一些小y自己的解法和扩展内容,以博客的形式发在博客园.我想,这会是一件非常有趣的事情. 以下是翻译的前言部分,第1.4题以及其解析部分. 前言: 嗨,各位刷LeetCode的小伙伴们. 就像你们看到这本书…
自从上个月进入实验室的云安全项目组后,因为要接触到实际的代码,在实验室博士的建议下我们项目组的硕士开始刷LeetCode练习编程能力,保持每周抽空刷几道算法题.虽然刷的不多,到现在一共只刷了不到30题,但在刷题的过程中还是有很多感触的. 实验室的博士建议我们按照题目的难易顺序循序渐进由易到难来刷,我也就照做了.因为前段时间在系统地学Python语言,所以我主要用的是Python语言来做,有的题目也采用了C/C++.Java甚至C#多种语言来尝试.在刷题的过程中,总结了自己的一些问题: 1. 对于…
转自:https://www.zhihu.com/question/32322023 刷leetcode是什么样的体验? https://leetcode.com/ 1 条评论   默认排序 按时间排序 75 个回答   糊你熊脸 鹰的眼睛!熊的力量!鱼的记忆! 71 人赞同 找工作那段闹心的日子里看书看累了?刷几题吧-心慌气短压力大?刷几题吧-不知道要做啥?还是刷几题吧-居家旅行,缓解压力,清空罪槽必备良药- 刷Leetcode的主要作用,在我看来,其实是为了维持一种编程状态. 小生在某小国,…
虽然很多人都觉得前端算法弱,但其实 JavaScript 也可以刷题啊!最近两个月断断续续刷完了 leetcode 前 200 的 middle + hard ,总结了一些刷题常用的模板代码.走过路过发现 bug 请指出,拯救一个辣鸡(但很帅)的少年就靠您啦! 常用函数 包括打印函数和一些数学函数. const _max = Math.max.bind(Math); const _min = Math.min.bind(Math); const _pow = Math.pow.bind(Math…
本文首发于微信公众号:[坂本先生],文章地址为: https://mp.weixin.qq.com/s/vHv5hO8nils_g2VSKwu1Cg如有转载请标明出处 今天给大家安利一款快速刷LeetCode的工具,能够让你专注于题目本身,而不是如何去建立题目.这个工具是基于IDEA的,名叫LeetCode Editor,它的官方GitHub地址为:https://github.com/shuzijun/leetcode-editor 至于为什么要刷LeetCode,嘿嘿嘿,当然是为了应付笔试啦…
前言&絮叨 别人都忙着参加年会晒奖品,我却忙着写代码.每逢年底都要安排几个紧急项目,我什么时候能摆脱这种宿命. 在忙也不能忘记刷LeetCode,毛毛向前冲!!! 题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[-2 ^ 31, 2 ^ 31 − 1].请根…
而立之年终未立,不惑而年犹存惑!这或许就是所谓的中年危机吧! 自认为是一个"勤奋"的人,又"未有寸功",天天碌碌,不知何为. "常立志"而未达,以至于"泯然众人矣". 2020年起的五年,专注于2-3个点,希望能有一点点小"成就". 1. 提升个人能力 坚持输入 简而言之,就是不断学习. 读书: 每读一本书就写读书心得. 提升技术能力:提升java开发能力,精进C++能力. 思考 行动上的勤快人,不做思想的…
作者:HelloGitHub-小鱼干 摘要:找对路子,事半功倍,正如本周 GitHub Trending #刷 LeetCode# 主题想表达的那般,正确的学习姿势方能让人走得更远,走进大厂…
背景 如果前人认为这个一种学习提高或者检验能力的成功实践.而自己目前又没有更好的方法,那就不妨试一试. 而不管作为面试官还是被面试者,编码题最近越来越流行.而两种角色都需要思考的问题是希望考察什么能力,通过什么题目,需要达到怎样的程度可以说明面试者具有了这样的能力. 而要找到上面这些问题的答案,比较好的方式除了看一些理论性文章和接受培训之外,自己动手刷一刷leetcode切身实践一下不失为一个不错的方式.而既然要花精力去做这件事情,那就需要解决一个问题:我从中可以获得什么提高.以下是个人的一些经…
近期抽空刷了刷LeetCode,算是补补课. 由于不是很习惯直接在网页上Coding&Debug,所以还是在本地环境下进行编码调试,觉得基本OK后再在网页上提交. 主要采用Python3进行提交.方便起见,准备了一个基本的脚本demo,用于满足如下需求: 记录题目和自己的题解,便于回溯: 进行单元测试,在提交发生错误后,将出错的测试用例加入单元测试中,测试采用pytest框架: 进行性能分析,由于题解一般都不长,使用line_profiler工具逐行进行分析,找到效率瓶颈,优化性能. 脚本Dem…
最近重新学习数据结构与算法以及刷leetcode算法题时,发现不少jdk自带的方法可以提升刷题的效率.这些小技巧不仅仅对刷算法题带来便利,对我们平时开发也是很有帮助的.本文以java语言为基础,记录了目前已经使用或看到过的一些小技巧,后续在刷题过程中,还会持续更新. 一.数组 1.使用Arrays.sort(int[] a)进行排序 底层采用的是快速排序算法实现的:时间复杂度为O(nlogn),空间复杂度O(logn),不稳定.默认是从小到大排序. int[] arr = new int[]{2…
用golang刷LeetCode 用Go语言刷LeetCode记录,只是为了练习Go语言,能力有限不保证都是最优解,只能在此抛转引玉了. 数据结构和算法 数据结构和算法是程序员的命根子,没了命根子也就没有了尊严. 1. 两数之和 题目描述 力扣(LeetCode)链接 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元素. 示例: 给定 nums…
之前写了篇文章 用JavaScript刷LeetCode的正确姿势,简单总结一些用 JavaScript 刷力扣的基本调试技巧.最近又刷了点题,总结了些数据结构和算法,希望能对各为 JSer 刷题提供帮助. 此篇文章主要想给大家一些开箱即用的 JavaScipt 版本的代码模板,涉及到较复杂的知识点,原理部分可能会省略,有需要的话后面有时间可以给部分知识点单独写一篇详细的讲解. 走过路过发现 bug 请指出,拯救一个辣鸡(但很帅)的少年就靠您啦!!! BigInt 众所周知,JavaScript…
Author       : Email         : vip_13031075266@163.com Date          : 2021.03.07 Version     : 北京 Copyright : 未经同意不得转载!!! Reference:https://leetcode-cn.com/problemset/all/ 写给自己的序: 从事LinuxC开发有3年了,这期间基本都是使用C语言写bug.日常工作除了薪资赶不上其他语言,其余各方面感觉C语言还是挺棒的.我偶尔刷l…
还是觉得自己在算法这块太弱鸡了 不多废话开刷吧,LeetCode与算法导论相辅相成双管齐下,期望能填上算法这个坑 解法没意外都是用Python2.7 由于LeetCode有提供Top Solution,看到有不错的也会写下自己的见解 2016.12 ps.发现leetcode上不少题目还是收费的,看来暂时只能刷刷免费题了 ps2.发现国内除了各大院校的OJ以外,似乎http://www.lintcode.com/zh-cn/ 也是个不错的去处,毕竟不要钱(利益相关:未接受来自lintcode的任…
安装Nodejs并勾选添加到PATH VSCODE安装插件LeetCode 注册LeetCode账号(注意CN国区和国际区账号不通用),重启VSCODE并点左边栏那个LeetCode图标sign in..... PS.地球图标是选择区域(CN国区和国际区) 配置完成,开始刷题测试 PS. 真正做完后记得去看题目网页上的题解.非常有用,开阔视野 第一题: 两数之和 https://leetcode-cn.com/problems/two-sum/comments/   <给自己算了一下,好...好…
难度等级:简单 题目描述: 实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不存在,则返回  -1. 示例 1: 输入: haystack = "hello", needle = "ll"输出: 2示例 2: 输入: haystack = "aaaaa", needle = "bba"输出…
letcode easy 刷了90%了 我要写个随笔庆祝下 挑着做的太不要脸了,接下来要做剩下的了 :) 剩下的决定直接参考答案了 :) 有些答案看着也好迷糊.水平太差了.(英文水平差,看不懂题目..呃呃呃) 开始刷中等难度了:) 记录自己的知识盲点: 对位运算处理非常的薄弱,动态规划一样薄弱. 中阶难度刷的很慢了. 动态规划:这个简直了. 只能说我的算法是入门级的,他妈的太烂了,简直不能再渣了. 算法简直太渣了,渣到不行. 求人不如求己,还是要自己搞. 动态规划就想画里面的漂亮姑娘,看的见,摸…
LeetCode 做笔记 对于遇到的每个题目,事后都做上标记:普通题目,难题.好题.此外,每个题目都分为以下几个步骤做好详细的笔记: 1. 原题目 2. 自己的第一遍解法 3. 网上好的解法 4. 自己可以改进的地方 5. 进一步精简优化自己的代码直至代码简无可简(这是非常关键的一步,到达这一步,才会发现获得能力的提升远远要超过简单地把题目解出来) 6. 获得的思考(或者学习到的地方,可以是算法.数据结构或者Java的特性—例如Stream等等) 每一个题目都经过至少一遍这样的迭代.这样几遍下来…
Leetcode第2题思考过程分析:耗费的时间与思考过程 1. 审题耗费了很长时间,英文看不懂.两个单链表代表了两个整数,整数逆序,(2 -> 4 -> 3) + (5 -> 6 -> 4),(2 -> 4 -> 3)表示342,另一个数是456,和为708:巧合的是243+564=807,这个巧合不能用来解题. 2. 解题的初步思路是逆序链表,将数字存在普通数组里(这需要动态数组,因为输入的链表长度未定),然后相加,再把sum分解为各位数字,逆序存入单链表(这一步令我…
算法面试过程中,题目类型多,数量大.大家都不可避免的会在LeetCode上进行训练.但问题是,题目杂,而且已经超过1300道题. 全部刷完且掌握,不是一件容易的事情.那我们应该怎么办呢?找规律,总结才是制胜法宝. 下面我们就来看看 Grokking the Coding Interview: Patterns for Coding Questions​ 的分类及每个类型的经典题目: 1. Pattern: Sliding window,滑动窗口类型 经典题目: Maximum Sum Subar…
LeetCode 上不会的 Reverse Integer Gray Code Generate Parentheses Pascal's Triangle II 正方向读和反方向读保持不变的区别 Trapping Rain Water 抓住数组的特性 可以排序 可以拿出最大值或者最小值来做参考 Unique Binary Search Trees II 不是溯源的去找根节点,而是重新生成根节点 Anagrams 对于相似的字符串或数组一样,经过排序则是一样的,另外判断是否已经存在一次了,使用标…
难度等级:简单 题目描述: 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 元素的顺序可以改变.你不需要考虑数组中超出新长度后面的元素. 示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2. 你不需要考虑数组中超出新长度后面的元素.示例 2: 给定 num…
难度等级:简单 题目描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2. 你不需要考虑数组中超出新长度后面的元素.示例 2: 给定 nums = [0,0,1,1,1,2,2,3,3,4], 函数应该返回新的长度 5…
难度等级:简单 题目描述: 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-sorted-lists著作权归领扣网络所有.商业转载请联系官方授权,非商业转载请注明出处. 解题思路: 1.此题主要考察对链…
难度等级:简单 题目描述: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合.注意空字符串可被认为是有效字符串. 示例 1: 输入: "()"输出: true示例 2: 输入: "()[]{}"输出: true示例 3: 输入: "(]"输出: false示例 4: 输入: "([)]"输出: fal…
难度等级:简单 题目描述: 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow","flight"]输出: "fl"示例 2: 输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀.说明: 所有输入只…
难度等级:简单 题目描述: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1.12 写做 XII ,即为 X + II . 27 写做  XXVII, 即为 XX + V + II . 通常情况下,罗马数字中小的数字在大的数字的右边.但也存在特例,例如 4 不写做 IIII,而是 IV.数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得…
难度等级:简单 题目描述: 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121输出: true示例 2: 输入: -121输出: false解释: 从左向右读, 为 -121 . 从右向左读, 为 121- .因此它不是一个回文数.示例 3: 输入: 10输出: false解释: 从右向左读, 为 01 .因此它不是一个回文数.进阶: 你能不将整数转为字符串来解决这个问题吗? 来源:力扣(LeetCode)链接:https://l…
难度等级:简单 题目描述: 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123输出: 321 示例 2: 输入: -123输出: -321示例 3: 输入: 120输出: 21注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31,  2^31 − 1].请根据这个假设,如果反转后整数溢出那么就返回 0. 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reve…