Leetcode
文章平均质量分 52
Begin to change
咸鱼也是会翻身的!
展开
-
LeetCode刷题(66题、67、69、70、71)
目录一、加一1、题目描述2、题解3、源码二、二进制求和1、题目描述2、题解3、源码三、x的平方根1、题目描述2、题解3、源码四、爬楼梯1、题目描述2、题解3、源码五、简化路径1、题目描述2、题解3、源码一、加一1、题目描述2、题解3、源码class Solution: def plusOne(self, digits: List[int]) -> List[int]:原创 2022-04-24 19:42:24 · 316 阅读 · 0 评论 -
LeetCode刷题(57、58、59、61、62)
目录一、插入区间1、题目描述2、题解3、源码二、最后一个单词的长度1、题目描述2、题解3、源码三、螺旋矩阵Ⅱ1、题目描述2、题解3、源码四、旋转链表1、题目描述2、题解3、源码五、不同路径1、题目描述2、题解3、源码一、插入区间1、题目描述2、题解3、源码class Solution: def insert(self, intervals: List[List[int]], n.原创 2022-04-23 11:52:19 · 439 阅读 · 0 评论 -
LeetCode刷题(43、48、53、54、56)
一、字符串相乘1、题目描述2、题解3、源码class Solution: def multiply(self, num1: str, num2: str) -> str: return str(int(num1) * int(num2))二、旋转头像1、题目描述2、题解3、源码class Solution: def rotate(self, matrix: List[List[int]]) -> N.原创 2022-04-22 21:59:17 · 329 阅读 · 0 评论 -
LeetCode刷题(33、34、35、36)
一、搜素旋转排序数组1、题目描述2、题解3、源码class Solution: def search(self, nums: List[int], target: int) -> int: for i in range(len(nums)): if nums[i] == target: return i else: return -1二、在排序数原创 2022-04-21 22:11:08 · 578 阅读 · 0 评论 -
LeedCode刷题(21、24、26、27、28)
目录一、合并两个有序链表1、题目描述2、题解3、源码二、两两交换链表中的结点1、题目描述2、题解3、源码三、删除有序数组中的重复项1、题目描述2、题解3、源码四、移除元素1、题目描述2、题解3、源码五、 实现strStr()1、题目描述2、题解3、源码一、合并两个有序链表1、题目描述2、题解3、源码# Definition for singly-linked list.# cl.原创 2022-04-20 21:49:16 · 599 阅读 · 0 评论 -
LeedCode刷题(16、17、18、19、20)
目录一、最接近三数之和1、题目描述2、题解3、源码二、电话号码的字母组合1、题目描述2、题解3、源码三、四数之和1、题目描述2、题解3、源码四、删除链表的倒数第N个结点1、题目描述2、题解3、源码五、有效括号1、题目描述2、题解3、源码一、最接近三数之和1、题目描述2、题解3、源码class Solution: def threeSumClosest(self, nums: Li..原创 2022-04-19 21:01:17 · 345 阅读 · 0 评论 -
LeetCode刷题(9、11、12、14、15)
目录一、回文数1、题目描述2、题解3、源码二、盛最多水的容器1、题目描述2、题解3、源码三、整数转罗马数字1、题目描述2、题解3、源码四、三数之和1、题目描述2、题解3、源码五、最长公共前缀1、题目描述2、题解3、源码一、回文数1、题目描述2、题解3、源码class Solution: def isPalindrome(self, x: int) -> bool: ..原创 2022-04-19 14:44:26 · 751 阅读 · 0 评论 -
LeetCode刷题——字符串转换整数
目录一、题目描述二、题解三、源码一、题目描述二、题解三、源码class Solution: def myAtoi(self, str) -> int: #去掉左边字符 str=str.lstrip() #如果字符串空,返回 if len(str)==0: return 0 #设置默认输出为0 last=0 ..原创 2022-04-14 20:55:59 · 110 阅读 · 0 评论 -
LeetCode刷题——整数反转
一、题目描述二、题解三、源码class Solution: def reverse(self, x: int) -> int: if -10 < x < 10: return x str_x = str(x) if str_x[0] != "-": str_x = str_x[::-1] x = int(str_x) .原创 2022-04-14 20:14:05 · 268 阅读 · 0 评论 -
LeetCode刷题——Z字形变换
一、题目描述二、题解三、源码class Solution(object): def convert(self, s, numRows): """ :type s: str :type numRows: int :rtype: str """ n = numRows # 行数 if n == 1: # 行数为1原创 2022-04-14 17:25:28 · 250 阅读 · 0 评论 -
LeetCode刷题——最长回文子串
目录一、题目描述二、题解三、源码一、题目描述二、题解三、源码class Solution(object): def longestPalindrome(self, s): """ :type s: str :rtype: str """ for x in range(len(s)-1,0,-1): for i in range(len(s)-x原创 2022-04-14 16:34:08 · 604 阅读 · 0 评论 -
LeetCode刷题——寻找两个正序数组的中位数
目录一、题目描述二、题解三、源码一、题目描述二、题解三、源码class Solution(object): def findMedianSortedArrays(self, nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: float """ arr = []原创 2022-04-14 15:11:40 · 641 阅读 · 0 评论 -
LeetCode刷题——无重复字符的最长子串
目录一、题目描述二、题解三、源码一、题目描述二、题解三、源码class Solution(object): def lengthOfLongestSubstring(self, s): """ :type s: str :rtype: int """ cur, res = [], 0 for r in range(len(s)): ..原创 2022-04-14 14:30:24 · 592 阅读 · 0 评论 -
LeetCode Python——两数相加
一、题目二、题解三、源码# Definition for singly-linked list.# class ListNode(object):# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution(object): def addTwoNumbers(self, l1, l2): i..原创 2022-04-14 14:30:50 · 1286 阅读 · 0 评论 -
LeetCode C语言刷题——day2
一、删除排序列表中的重复元素1、题目描述2、题解3、源码/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* deleteDuplicates(struct ListNode* head){ if (!head){ return head;.原创 2022-02-27 10:58:13 · 572 阅读 · 0 评论 -
LeetCode C语言刷题——day1
一、最后一个单词长度1、题目描述2、题解3、源码int lengthOfLastWord(char * s){ int count=0; for (int i = strlen(s) - 1;i >= 0;i--){ if(s[i] != ' '){ count++; } if(s[i]==' '&& count!=0) break; } return原创 2022-02-26 15:46:50 · 1399 阅读 · 0 评论 -
LeetCode MySQL刷题——day3
目录一、重新格式化部门表1、题目描述2、题解3、源码二、第二高的薪资1、题目描述2、题解3、源码三、第n高的薪水1、题目描述2、题解3、源码四、分数排名1、题目描述2、题解3、源码五、连续出现的数1、题目描述2、题解3、源码一、重新格式化部门表1、题目描述2、题解3、源码# Write your MySQL query statement belowselect id, s...原创 2022-02-15 11:54:28 · 491 阅读 · 0 评论 -
LeetCode MySQL刷题——day2
目录一、上升的温度1、题目描述2、题解3、源码二、大的国家1、题目描述2、题解3、源码三、超过五名学生的课1、题目描述2、题解3、源码四、有趣的电影1、题目描述2、题解3、源码五、变更性别1、题目描述2、题解3、源码一、上升的温度1、题目描述2、题解3、源码# Write your MySQL query statement belowselect e1.id...原创 2022-02-11 13:39:51 · 964 阅读 · 0 评论 -
LeetCode MySQL刷题——day1
目录一、组合两个表1、题目描述2、题解 3、源码二、超过经理收入的员工1、题目描述2、题解3、源码三、查找重复的电子邮箱1、题目描述2、题解3、源码四、从不订购的客户1、题目描述2、题解3、源码五、删除重复的电子邮箱1、题目描述2、题解3、源码一、组合两个表1、题目描述2、题解 3、源码select FirstName,LastName,City,State from Person le...原创 2022-02-10 12:25:28 · 1175 阅读 · 0 评论 -
Leetcode——两数之和
这题有一个很简单的解决办法,就是暴力求解法,跟其他语言是一样的,但是就只是语言的书写形式上不一样。思路:两层循环遍历,一个值一个值的试,最后找出最终的结果class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int...原创 2022-01-04 20:32:55 · 509 阅读 · 0 评论 -
用栈实现队列(Leetcode第232题)+用队列实现栈(Leetcode第225题)
1.题目描述2.思路思路是很清晰的,栈是先进后出,而队列是先进先出,所以要用栈实现队列,就必须用到两个栈,一个输入栈,一个输出栈在push数据的时候,只要数据放进输入栈就好,「但在pop的时候,操作就复杂一些,输出栈如果为空,就把进栈数据全部导入进来(注意是全部导入)」,再从出栈弹出数据,如果输出栈不为空,则直接从出栈弹出数据就可以了。如果进栈和出栈都为空的话,说明模拟的队列为空了。3.代码展示class MyQueue {public: stack<int&g原创 2021-04-04 19:18:12 · 353 阅读 · 0 评论 -
最详细KMP算法
1.KMP介绍1.1什么是KMP之所以叫KMP是为了纪念发明者,分别为:Knuth,Morris和Pratt1.2KMP有什么用KMP主要是应用在字符串匹配上。KMP的主要思想是当出现字符串不匹配时,可以知道一部分之前匹配的文本内容,可以利用这些信息避免从头再去做匹配。2.前缀表的介绍2.1什么是前缀表写KMP时用到的next数组就是前缀表。前缀表是用来回溯的,它记录了模式串与主串(文本串)不匹配的时候,模式串应该从那里重新开始匹配。2.2前缀表如何记录首先要知道原创 2021-04-03 21:52:56 · 1135 阅读 · 0 评论 -
最大子序和(Leetcode第53题)
1.题目描述2.分析此题的思路还是很简单的,做题的方法也有很多种,比如暴力解法,贪心算法解法,动态规划解法。此处就讲讲贪心算法:1.从数组0开始遍历,更大值=MAX(更大值+当前值,当前值)2.最大值=更大值中最大的值贪心算法定义:贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后原创 2021-03-31 10:37:32 · 107 阅读 · 0 评论 -
两数之和(Leetcode第1题)
有着Leetcode梦开始的地方也是结束称呼的第一题,我来了,这次是我第二次做这个题,第一次用的是JAVA,这次用的是C++的哈希表的做法,两次的方法是不一样的。1.题目描述2.分析此题有两种做法,一种是暴力解法,这里就不详细的讲了,也就是用两个个for循环,一个个的找代码展示:class Solution {public: vector<int> twoSum(vector<int>& nums, int target) {原创 2021-03-30 20:38:15 · 502 阅读 · 0 评论 -
快乐数(Leetcode第202题)
1.题目描述2.分析此题可能会遇到三种情况:其实第三种情况可以排除,举个例子就知道了3.算法算法分为两部分,我们需要设计和编写代码。给一个数字 nn,它的下一个数字是什么?按照一系列的数字来判断我们是否进入了一个循环。第 1 部分我们按照题目的要求做数位分离,求平方和。第 2 部分可以使用哈希集合完成。每次生成链中的下一个数字时,我们都会检查它是否已经在哈希集合中。如果它不在哈希集合中,我们应该添加它。如果它在哈希集合中,这意味着我们处于一个循环中,因此应该原创 2021-03-30 17:30:16 · 185 阅读 · 0 评论 -
环形链表||(Leetcode第142题)
给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。此题用快慢指针,如果有环就一定会相遇,困难的点就在于如何确定入环的点的位置思路:我们使用两个指针,fast 与 slow。它们起始都位于链表的头部。随后,slow 指针每次向后..原创 2021-03-24 10:58:02 · 149 阅读 · 0 评论 -
设计链表(Leetcode第707题)
此题涵盖了链表的常见操作,是练习链表操作非常好的一道题目此题涵盖了链表的常见操作,是练习链表操作非常好的一道题目此题涵盖了链表的常见操作,是练习链表操作非常好的一道题目题目描述:设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val和next。val是当前节点的值,next是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性prev以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:g...原创 2021-03-23 21:42:57 · 318 阅读 · 0 评论 -
螺旋方阵(Leetcode第59题)
#include<stdio.h>int main(){ int a[10][10]={0},n,i,j; scanf("%d",&n); a[0][0]=1; for(i=0;i<n;i++) { for(j=1;j<n;j++) { if(i==0){ a[i][j]=a[i][j-1]+1; continue; } if...原创 2018-03-29 22:47:39 · 497 阅读 · 0 评论 -
三数之和(Leetcode第15题)
class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>> result;//定义result为容器里的容器,相当于当容器里还有一个小容器,跟题目最后输出的是符合数组相吻合。 sort(nums.begin(), nums.end());//sort类,用于排序。 ...原创 2021-03-19 12:02:57 · 292 阅读 · 0 评论