leetcode主要算法
1、尺取法,对于孤陋寡闻的我来说,刷题之前没听说过,后来了解了一下这个方法,感觉好多题目都可以用这个方法解决,在leetcode上有一类题叫做Two Pointers,其中一部分题目就应该使用尺取法来解决。 2、在介绍尺取法的使用之前,先看一个典型的实例Leetcode209. Minimum Size Subarray Sum:Given an ar...
2024-01-10Leetcode斐波那契数列问题
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。这道题我们可以用递归或者动态规划来完成。递归思路——根据给出的斐波那契数列...
2024-01-10自动测试LeetCode用例方法
自动合并测试LeetCode解题方法在leetcode.com上答题,Run Code或者Sumbmit通常要Spending一会,如果提交一次就Accepted那还好,如果反复Wrong Answer,很耽误时间。为了调高效率和减少挫折(来回提交,一直Wrong Answer倍受打击),我采取在本地Jupyter notebook上coding,测试通过后再提交的方式。本篇主要介绍自动测试的...
2024-01-10[LeetCode]70.爬楼梯
[TOC]题目假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?**注意:**给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬...
2024-01-10Leetcode括号生成Python实现
题目要求:思路:n的数量既是左括号的数量也是右括号的数量定义一个res列表用来返回所有的结果用递归的方式,给递归函数一个空字符串,标记剩余的左括号的数量和剩余的右括号的数量,如果剩余的左括号的数量大于0,则在字符串上加"(",如果剩余右括号的数量大于0,则在字符串上加")",如果...
2024-01-10[Leetcode]190.颠倒二进制位
颠倒给定的 32 位无符号整数的二进制位。示例:输入: 43261596输出: 964176192解释: 43261596 的二进制表示形式为 00000010100101000001111010011100 , 返回 964176192,其二进制表示形式为 00111001011110000010100101000000 。 进阶:如果多次调用这个函数,你将如何优化你的算法?方法1class Solution {public: uint32_t r...
2024-01-10【LeetCode】137链表求和
题目:解题思路:对两个链表从头到尾遍历,将每个位的数字相加并插入到新建链表上。注意处理两个链表不等长。https://leetcode-cn.com/problems/sum-lists-lcci/solution/javaji-bai-100-bi-kan-by-wonderzlf-v7dm/代码:public class LC145 { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { // 判空输入 i...
2024-01-10【一起刷LeetCode】整数反转
前言&絮叨别人都忙着参加年会晒奖品,我却忙着写代码。每逢年底都要安排几个紧急项目,我什么时候能摆脱这种宿命。在忙也不能忘记刷LeetCode,毛毛向前冲!!!题目描述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -1...
2024-01-10Leetcode外观数列 Python实现
题目要求:思路:遍历字符串,用res来保存最终返回的结果,count记录当前字符出现的次数,如果当前的字符与下一个字符相同,那么count加一,如果不同,把str(count)和当前字符记录到res中。核心代码:#起始的字符串为"1",因为n在1到30之间,所以不用判断0的情况res = "1"#循环n-1次for i in ran...
2024-01-10Leetcode-242 有效的字母异位词
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。demo01输入: s = "anagram", t = "nagaram"输出: truedemo02输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。题解关键词:map首先判断两个字符串长度是否相等,不相等则直接返回 false遍历串s为map赋值,组成字母...
2024-01-10【一起刷LeetCode】Z字形变换
题目描述将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将字符串进行指定行数变换的函数:string convert(str...
2024-01-10LeetCode|371.两整数之和
题目描述等级: 简单不使用运算符 + 和 - ,计算两整数a 、b之和。示例1:输入: a = 1, b = 2输出: 3示例2:输入: a = -2, b = 3输出: 1思路对于位运算的考察。在位运算中,异或操作获取的是两个数的无进位和,异或:相同为0,不同为1。如,2^3 0010^ 0011------- 0001我们知道,2+3=5,5的二进制是...
2024-01-10[LeetCode]198.打家劫舍
[TOC]题目你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下...
2024-01-10玩转算法面试Leetcode真题分门别类讲解
download:玩转算法面试-- Leetcode真题分门别类讲解相信这是一门非常及时的课程,送给面试在即的你,学完这门课程,对于面试中遇到的大多数算法问题,你都会迎刃而解,但课程绝不止于面试,同样适合即将参加各类算法竞赛的同学,重要的是提升你的算法思维,这将是贯穿你编程生涯的核心内功!...
2024-01-10python中Leetcode算法如何使用?
想要学习好语言,就需要一个不断去做内容整理,然后复盘学习的流程,就像是算法,跟大家说过几十种算法了,大家现在都掌握住了吗?相信大部分小伙伴在看完精简的教程内容后,基本上都有自己的理解了吧,那小编再来给大家介绍一种神奇的算法,可以实现数据结构构造以及规划的算法内容,感...
2024-01-10LeetCode:交替打印【1115】
LeetCode:交替打印【1115】题目描述我们提供一个类:class FooBar {public void foo() { for (int i = 0; i < n; i++) { print("foo"); }}public void bar() { for (int i = 0; i < n; i++) { print("bar"); }}}两个不同的线程将会共用一个 FooBar 实例。其中一个线程将会调用 foo() 方法,另一个线程将会调用 bar(...
2024-01-10【Leetcode】1:两数之和(Python)
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1] 解题思路...
2024-01-10【JS】【LeetCode】70. 爬楼梯
从本题中我们可以学到包含重复子问题,可以采用记忆化的方式,复用计算后的值;并用动态规划的思想,找到动态转移方程,采用循环实现。题目描述:题目:假设我们需要爬一个楼梯,这个楼梯一共有 N 阶,可以一步跨越 1 个或者 2 个台阶,那么爬完楼梯一共有多少种方式?示例:输入:2输出:2...
2024-01-10如何在VSCode中调试LeetCode代码
近期收到不少小伙伴的求助,希望知道如何在 VS Code 中调试 LeetCode 代码。通常来说,为了调试本地代码,我们需要安装相关的语言支持插件。本文中,我们就以调试 LeetCode Java 代码为例,给大家介绍本地调试 LeetCode 代码的常用套路。 想要了解如何在 VS Code 中刷题的小伙伴,可以移步: ...
2024-01-10【Java】LeetCode——队列 & 栈
写在前面:博客推行版本更新,成果积累制度,已经写过的博客还会再次更新,不断地琢磨,高质量高数量都是要追求的,工匠精神是学习必不...
2024-01-10C++实现LeetCode(61.旋转链表)
[LeetCode] 61. Rotate List 旋转链表Given the head of a linked list, rotate the list to the right by k places.Example 1:Input: head = [1,2,3,4,5], k = 2Output: [4,5,1,2,3]Example 2:Input: head = [0,1,2], k = 4Output: [2,0,1]Constraints:The number of nodes in th...
2024-01-10C++实现LeetCode(51.N皇后问题)
[LeetCode] 51. N-Queens N皇后问题The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other.Given an integer n, return all distinct solutions to the n-queens puzzle.Each solution contains a distinct bo...
2024-01-10LeetCode:链表中是否存在环的证明问题。
判断链表中是否存在环,通常使用双指针的方式,因为快指针、慢指针最终都会在环中相遇,但如何证明这两个指针一定会相遇呢,推倒过程如下:我的疑问是:算式(3)是通过怎样的方式转换为算式(4)的呢?回答(a + b) % c = (a % c + b % c) % c这个证明把 () % c 部分约掉了。...
2024-01-10[Java]1.两数之和 - LeetCode
2 思路与代码思路一:暴力法(两层For循环)时间复杂度:O(n^2)对于每个元素,我们试图通过遍历数组的其余部分来寻找它所对应的目标元素,这将耗费 O(n) 的时间。因此时间复杂度为 O(n^2)。空间复杂度:O(1)原理:遍历每个元素 xx,并查找是否存在一个值与 target - x相等的目标元素/** * Note: ...
2024-01-10C++实现LeetCode(62.不同的路径)
[LeetCode] 62. Unique Paths 不同的路径A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the ...
2024-01-10