草庐IT

leetcode刷题(6)

全部标签

【算法刷题之数组篇(2)】

目录1.leetcode-35.搜索插入位置(简单)2.leetcode-74.搜索二维矩阵(中等)3.leetcode-73.矩阵置零(中等)4.leetcode-56.合并区间(中等)5.leetcode-54.螺旋矩阵(中等)6.leetcode-1.两数之和(简单)1.leetcode-35.搜索插入位置(简单)(1)题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(logn)的算法。(2)方法及思路(二分查找)考虑这个插入的位置pos,它成立的条件为:nums[pos−1]问题转化

leetcode链表题报错 runtime error: member access within null pointer of type ‘ListNode‘

今天在做leetcode203:移除链表元素时,反复遇到了报错:runtimeerror:memberaccesswithinnullpointeroftype‘ListNode’(solution.cpp),报错提示的意思是试图访问’ListNode空指针类型的成员,就浅浅记录一下修复bug的过程吧。。。。刚开始的代码是这样的,逻辑是先建立一个头结点放到链表头部,这样就可以统一链表结点删除的操作了,然后创建ListNode类型指针cur,初始化其指向头结点的下一个结点,利用while循环遍历链表,当cur指针指向Null时停止遍历。然后就报错了…classSolution{public:Li

(动态规划) 剑指 Offer 48. 最长不含重复字符的子字符串 ——【Leetcode每日一题】

❓剑指Offer48.最长不含重复字符的子字符串难度:中等请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例1:输入:“abcabcbb”输出:3解释:因为无重复字符的最长子串是“abc”,所以其长度为3。示例2:输入:“bbbbb”输出:1解释:因为无重复字符的最长子串是“b”,所以其长度为1。示例3:输入:“pwwkew”输出:3解释:因为无重复字符的最长子串是“wke”,所以其长度为3。请注意,你的答案必须是子串的长度,“pwke”是一个子序列,不是子串。提示:s.length注意:本题与3.无重复字符的最长子串相同。💡思路:动态规划定义dp数组,dp[i

Leetcode刷题笔记——单调性

单调性单调性是数学中使用的一种常见性质,通常用于描述函数,在高等数学中的定义常常为:设函数f(x)在区间I上有定义,如果对于I上的任意两个数x1和x2,当x1f(x2)),则称函数f(x)在区间I上是单调递增的(或者单调递减的)。例如如下图像就是两个单调函数。利用单调性我们可以减少很多重复的运算。例如,对于如下函数,我们给定其定义域为[0,+∞),现在要求查找出在其定义域内所有f(x)即y大于0.5的区间。如果不借助单调性,我们需要采用遍历的方法,依次遍历定义域中的所有点x,判断其f(x)是否满足条件(大于0.5)。如果借助单调性,我们知道上述函数是严格单调递增的,其图像如下:绿线表示y=0.

每天一道leetcode:934. 最短的桥(图论&中等&广度优先遍历)

今日份题目:给你一个大小为nxn的二元矩阵grid,其中1表示陆地,0表示水域。岛是由四面相连的1形成的一个最大组,即不会与非组内的任何其他1相连。grid中恰好存在两座岛。你可以将任意数量的0变为1,以使两座岛连接起来,变成一座岛。返回必须翻转的0的最小数目。示例1输入:grid=[[0,1],[1,0]]输出:1示例2输入:grid=[[0,1,0],[0,0,0],[0,0,1]]输出:2示例3输入:grid=[[1,1,1,1,1],[1,0,0,0,1],[1,0,1,0,1],[1,0,0,0,1],[1,1,1,1,1]]输出:1提示n==grid.length==grid[i]

算法leetcode|74. 搜索二维矩阵(rust重拳出击)

文章目录74.搜索二维矩阵:样例1:样例2:提示:分析:题解:rust:go:c++:python:java:74.搜索二维矩阵:给你一个满足下述两条属性的mxn整数矩阵:每行中的整数从左到右按非递减顺序排列。每行的第一个整数大于前一行的最后一个整数。给你一个整数target,如果target在矩阵中,返回true;否则,返回false。样例1:输入: matrix=[[1,3,5,7],[10,11,16,20],[23,30,34,60]],target=3 输出: true样例2:输入: matrix=[[1,3,5,7],[10,11,16,20],[23,30,34,60]],t

【数据结构】如何用栈实现队列?图文解析(LeetCode)

LeetCode链接:232.用栈实现队列-力扣(LeetCode)注:本文默认读者已掌握栈与队列的基本操作可以看这篇文章熟悉知识点:【数据结构】栈与队列_字节连结的博客-CSDN博客目录做题思路代码实现1.MyQueue2.myQueueCreate3.myQueuePush4.myQueuePeek5.myQueuePop6.myQueueEmpty7.myQueueFree全部代码做题思路简单来说,就是把一个栈(栈1)的数据捯入另一个栈(栈2),此时(栈2)出数据的顺序就和队列是一样的。为了更方便理解,我会画图来演示一下具体思路。我们需要两个栈来实现队列:push栈:专门入数据的栈pop

LeetCode:二叉树的前、中、后序遍历——如何创建一棵【二叉树】

🍎道阻且长,行则将至。🍓🌻算法,不如说它是一种思考方式🍀算法专栏:👉🏻123文章目录一、🌻二叉树1.简介2.种类3.构造与遍历二叉树的构造二叉树的遍历二、🍀LeetCode:二叉树的前、中、后序遍历🌴解题1.先序遍历2.中序遍历3.后序遍历一、🌻二叉树1.简介二叉树是一种树形数据结构,其每个节点最多只有两个子节点。通常将节点分为三种类型:根节点、内部节点和叶子节点。其中,根节点是二叉树的唯一访问起点,内部节点具有一个父节点和两个子节点,而叶子节点没有子节点。二叉树的底层数据结构可以使用链表或数组来实现。二叉树的应用非常广泛,例如在计算机科学中,二叉树是许多数据结构的基础,例如二叉搜索树、红黑树

(搜索) 剑指 Offer 12. 矩阵中的路径 ——【Leetcode每日一题】

❓剑指Offer12.矩阵中的路径难度:中等给定一个m*n二维字符网格board和一个字符串单词word。如果word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。例如,在下面的3×4的矩阵中包含单词"ABCCED"(单词中的字母已标出)。示例1:输入:board=[[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]],word=“ABCCED”输出:true示例2:输入:board=[[“a”

牛客前端刷题(六)—— JS基础

还在担心面试不通过吗?给大家推荐一个超级好用的刷面试题神器:牛客网,里面涵盖了各个领域的面试题库,还有大厂真题哦!赶快悄悄的努力起来吧,不苒在这里衷心祝愿各位大佬都能顺利通过面试。面试专栏分享,感觉有用的小伙伴可以点个订阅,不定时更新相关面试题:面试专栏。文章目录?正文1、letconstvar相关2、js数据类型,区别3、Object.assign的理解4、constructor的理解5、map和forEach的区别6、forof可以遍历