和我一起leetcode刷题
文章平均质量分 68
kekoxl
我不懒,但是也不想写
展开
-
递归/回溯——数组全排列
目录题目解题思路代码题目牛客网——06递归回溯——01、02题解题思路都是很明显的搜索问题,这种涉及到全部的解空间,然后所有的解有一定的规律性的问题,用dfs递归比较容易解决01:BM55 没有重复项数字的全排列02:BM56 有重复项数字的全排列02在01的基础上,加一行判断元素是否重复,就可以了,如果重复,就不需要在dfs了,如果不重复,和01的代码逻辑一模一样代码01:BM55 没有重复项数字的全排列class Solution {public: vector<in原创 2022-03-02 10:41:52 · 233 阅读 · 0 评论 -
对称飞行器【阿里巴巴编程题目】
代码来源:https://www.nowcoder.com/profile/442275737这道题目我没坐上来,后面对答案做了个详细的中文注释大体思路就是:迷宫问题,是bfs的经典问题(寻找走出迷宫的最短路径)。第一步需要考虑到使用bfs。第二部是考虑如何使用对称飞行器的条件,此代码的做法是对bfs的节点加入第三维度,这一维度专门储存使用飞行器的次数。#include <bits/stdc++.h>typedef long long ll;using namespace std;s原创 2022-02-27 16:22:31 · 436 阅读 · 0 评论 -
python的defaultdict详解
简书指路leetcode练习题指路最近刷leetcode都是在用python语言,感觉最大的感受就是python的函数功能太多了,五花八门的,你能想到的功能几乎都有现成的函数。leetcode上这道重复子字符串的问题,算是算法和数据结构的经典问题。我一开始两边循环暴力解,后来在第30个测试用例超时了,然后看官方的python官方解答,一个字典,也就是hash表搞定。。。只能说自己都没有意识到可以这么方便的用字典。defalutdict也很牛,当你对未在字典里面的key赋值value的时候,他不原创 2021-10-08 11:18:04 · 234 阅读 · 0 评论 -
leetcode刷题一个月心得
leetcode刷题心得:今天刷题满一个月,在这一个月里,坚持刷题(其实也断了3、4天),从一开始的见题死,或者死磕两个小时才可以做出来,痛苦面具;到后来的轻轻松松半个小时,还可以找到比官方更好的一些算法,刷题刷上瘾。感觉收获还是蛮大的,在此总结一下这一个月心得感受方法层面的:1、网上攻略千千万,自己动手才是真。说实在的,类似的攻略心得我也收藏了不少,但是也就是上个月才开始动手,就是做了简简单单的每日一题,也没有刻意,肯定又不全面的地方,但是我刷题的目的就是提升自己的代码能力,也算是物有所值。原创 2021-04-05 11:23:33 · 823 阅读 · 1 评论 -
leetcode——132模式(单调栈)+疯狂补丁
文章目录前言一、题目是什么?二、使用步骤1.第一种极其暴力的解法2.修修补补的第二个解法3、官方解法总结前言这道题我做的就是修修补补,其实就算我的第二个解法最后通过了101个测试例子,但是我还是怀疑是有bug的。这个代码反复提交了有14遍,针对遇到的不同的问题,我在代码上打了有针对性的补丁,完整直接的思路是没有的。欢迎各位大佬来找bug。。。。。。小弟求之不得,铭感五内一、题目是什么?题目点击这里二、使用步骤1.第一种极其暴力的解法人家别人的暴力解法是o(n^2),我直接三..原创 2021-03-24 21:48:15 · 81 阅读 · 0 评论 -
leetcode——矩阵置零(原地算法)
文章目录前言一、题目是什么?二、解法1.我的解法2.官方层层递进的三个解法总结前言提示:题目不是很难,但关键是怎么减少空间复杂度,我一开始想到的是o(m+n)的,后来看了答案,才知道原来还可以将本来的输入矩阵第一行和第一列进行改造,变成我们需要的标记数组。这样就是o(1)的空间复杂度了提示:本题引入了一个名词,原地算法。一、题目是什么?题目点击这里二、解法1.我的解法我的代码:lass Solution {public: void setZeroes(vector<.原创 2021-03-22 08:39:44 · 279 阅读 · 0 评论 -
leetcode——不同的子序列(动态规划)
文章目录前言一、题目二、解答1.我的超时方法2.答案的解答总结前言字符串的动态规划问题,感觉找两个字符串之间的某种关系,比如最长公共子序列,回文序列之类的,都用到了动态规划。我记得floyd算法也是典型的动态规划问题。当初讲算法导论的时候,动态规划这里就听的迷迷糊糊的,我印象中好像就是填一个矩阵,这个矩阵有一些数很容易求,关键是找关系方程。实践倒是很少,这道题也算一个锻炼吧。提示:代码大概20分钟打出来了,但是清晰的找到状态转移方程这个过程倒是摸索了很久,但是不幸的是,只用递归加状态转移原创 2021-03-17 22:07:57 · 220 阅读 · 0 评论 -
leecode——螺旋矩阵
文章目录前言一、题目是什么?二、解答1.我的解答2.官方总结前言提示:前两天leecode上面的题都是和hash映射有关,数据结构倒是讲了相关内容,但是孩子当时没有代码实践。。。总的来说,hash就是一种基于地址直接查找的算法,突破了传统的查找算法,比如,顺序查找,二分查找,B树查找之类的乱七八糟的查找的时间极限。学习了一下代码,倒是没有自己打。提示:以下是本篇文章正文内容,本次代码思维量较少,还是考察代码功底,注意数组不要越界!一、题目是什么?给你一个 m 行 n 列的矩阵 matr.原创 2021-03-15 10:00:31 · 206 阅读 · 0 评论 -
leetcode——从先序序列判断是否为二叉树(中等)
文章目录一、题目是什么?二、解答1.我的解法2.官方解法总结哈哈哈,孩子高兴疯了,半个小时的时间编出代码,用时打败100%,内存打败87.91%,孩子从来打代码没有这么爽过。。。。。。提示:这题感觉属于抖机灵那种,没什么编程技巧,代码量也不大一、题目是什么?序列化二叉树的一种方法是使用前序遍历。当我们遇到一个非空节点时,我们可以记录下这个节点的值。如果它是一个空节点,我们可以使用一个标记值记录。 _9_ / \ 3 2 / \ / \ 4 .原创 2021-03-12 19:00:20 · 255 阅读 · 0 评论 -
leetcode——基础计算器(中等)
文章目录前言一、题目是什么?二、解答1.我的解答2.官方总结前言基础运算器,没有括号,只有加减乘除,运算数字不一定是只有一位的0~9,可能是多位。在提交了7遍之后,终于通过了。。。(大哭)提示:本题思路及其简单直接,关键就是一些编程技巧,用得好可以简化代码一、题目是什么?给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。整数除法仅保留整数部分。示例 1:输入:s = “3+2*2”输出:7示例 2:输入:s = " 3/2 "输出:1示例 3:输入:s原创 2021-03-11 11:36:44 · 289 阅读 · 0 评论 -
leetcode——找全部回文子串集合(DFS和动态规划复习)
文章目录问题一、我是怎么做的?二、我遇到了那些问题1.引入库2.读入数据三、 答案又一次站在了大气层四、得与失的反思问题给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: “aab”输出:[[“aa”,“b”],[“a”,“a”,“b”]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindrome-partitioning著作权归领扣网络所有。商业转载请联系.原创 2021-03-09 20:00:05 · 1052 阅读 · 1 评论 -
leetcode——栈
文章目录前言一、题目是什么?二、我的解法1.很简单的暴力算法2.读入数据总结前言抱怨两句:前两天leetcode上的每日一题都是判断回文串之类的题目,对于菜鸟的我来说有点难,确实写了很久还有bug,题目难度分别为中等,困难。今天这道题是简单的,思路比较直接,代码也比较简洁一、题目是什么?给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:.原创 2021-03-09 17:08:40 · 231 阅读 · 0 评论 -
leetcode——单调栈
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录题目一、我的代码二、看了答案之后我悟了1.先上官方代码2.我的解读单调栈是什么?总结题目给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。示例 1:输入: [1,2,1]输出: [2,-1,2]解释: 第一个 1 的下一个更大的原创 2021-03-06 17:10:59 · 76 阅读 · 0 评论