草庐IT

leetcode刷题(3)

全部标签

LeeCode每日刷题12.8

搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(logn) 的算法。示例1:输入:nums=[1,3,5,6],target=5输出:2示例 2:输入:nums=[1,3,5,6],target=2输出:1示例3:输入:nums=[1,3,5,6],target=7输出:4提示:1-104nums 为 无重复元素 的 升序 排列数组-104classSolution{publicintsearchInsert(int[]nums,inttarget){intindex=0;//1.找

【leetcode100-021】【矩阵】搜索二维矩阵 II

【题干】编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。【思路】以右上角为起点斜着看这个矩阵,会发现,这是一颗二叉搜索树。那么我们就从右上角(0,n−1)处开始搜索。在每一步的搜索过程中,如果我们位于位置(x,y),那么我们希望在以matrix的左下角为左下角、以(x,y)为右上角的矩阵中进行搜索,即行的范围为[x,m−1],列的范围为[0,y]:如果matrix[x,y]=target,说明搜索完成;如果matrix[x,y]>target,由于每一列的元素都是升序排列的,那

Python 刷Leetcode题库,顺带学英语单词(8)

FindFirstandLastPositionofElementinSortedGivenanarrayofintegersnumssortedinascendingorder,findthestartingandendingpositionofagiventargetvalue. [#34]Youralgorithm'sruntimecomplexitymustbeintheorderofO(logn).Ifthetargetisnotfoundinthearray,return[-1,-1].Example1:Input:nums=[5,7,7,8,8,10],target=8Outpu

【经典LeetCode算法题目专栏分类】【第5期】贪心算法:分发饼干、跳跃游戏、模拟行走机器人

《博主简介》小伙伴们好,我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~👍感谢小伙伴们点赞、关注!分发饼干class Solution:    def findContentChildren(self, g: List[int], s: List[int]) -> int:        #贪心算法        res= 0        g.sort()        s.sort()        i= 0        j= 0        while i len(g) and j len

leetcode 622. 设计循环链表

这道题讲了两种方法,第一个代码是用数组实现的,第二个是用链表实现的,希望对你们有帮助(最好在VS自己测试一遍,再放到leetcode上哦)下面的是主函数(作参考),静下心来慢慢测试 622.设计循环链表题目设计你的循环队列实现。循环队列是一种线性数据结构,其操作表现基于FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应该支持如下操作:MyCircularQ

【单调栈】LeetCode2334:元素值大于变化阈值的子数组

作者推荐map|动态规划|单调栈|LeetCode975:奇偶跳本文涉及的基础知识点单调栈分类、封装和总结题目给你一个整数数组nums和一个整数threshold。找到长度为k的nums子数组,满足数组中每个元素都大于threshold/k。请你返回满足要求的任意子数组的大小。如果没有这样的子数组,返回-1。子数组是数组中一段连续非空的元素序列。示例1:输入:nums=[1,3,4,3,1],threshold=6输出:3解释:子数组[3,4,3]大小为3,每个元素都大于6/3=2。注意这是唯一合法的子数组。示例2:输入:nums=[6,5,6,5,8],threshold=7输出:1解释:子

LeetCode刷题--- 优美的排列

个人主页:元清加油_【C++】,【C语言】,【数据结构与算法】-CSDN博客元清加油_【C++】,【C语言】,【数据结构与算法】-CSDN博客个人专栏力扣递归算法题 http://t.csdnimg.cn/yUl2I  【C++】    http://t.csdnimg.cn/6AbpV 数据结构与算法 ​​​​​​http://t.csdnimg.cn/hKh2l前言:这个专栏主要讲述递归递归、搜索与回溯算法,所以下面题目主要也是这些算法做的 我讲述题目会把讲解部分分为3个部分:1、题目解析2、算法原理思路讲解3、代码实现优美的排列题目链接:题目假设有从1到n的n个整数。用这些整数构造一个数

【经典LeetCode算法题目专栏分类】【第4期】BFS广度优先算法:单词接龙、最小基因变化、二进制矩阵中的最短路径

《博主简介》小伙伴们好,我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~👍感谢小伙伴们点赞、关注!一般涉及到最小层数问题,要想到BFS。只要找到第一个符合条件的就是最小层数。单词接龙# 单向BFSclass Solution:    def ladderLength(self, beginWord: str, endWord: str, wordList: List[str]) -> int:        queue= [(beginWord, 1)]        word_list= [ ch

实现单链表的基本操作(力扣、牛客刷题的基础&笔试题常客)

本节来学习单链表的实现。在链表的刷题中,单链表占主导地位,很多oj题都在在单链表的背景下进行;而且很多链表的面试题都是以单链表为背景命题。所以,学好单链表的基本操作很重要目录一.介绍单链表1.链表及单链表2.定义一个链表二.实现单链表的功能1.插入数据2.打印链表3.删除数据4.查找某个元素5.检测链表大小6.完整的链表一.介绍单链表1.链表及单链表(1)什么是链表链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的。例如下面的这种数据结构,由一个个的结点组成。每个结点中存储着数据,又存储着其他结点的地址。(2)什么是单链表链表有三个特点:单向和双向、带头

【算法|动态规划No.10】leetcode LCR 089. 打家劫舍 & LCR 090. 打家劫舍 II

个人主页:兜里有颗棉花糖欢迎点赞👍收藏✨留言✉加关注💓本文由兜里有颗棉花糖原创收录于专栏【手撕算法系列专栏】【LeetCode】🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望对大家有所帮助🍓希望我们一起努力、成长,共同进步。目录一、LCR089.打家劫舍1️⃣题目描述2️⃣题目解析3️⃣解题代码二、LCR090.打家劫舍II1️⃣题目描述2️⃣题目解析3️⃣解题代码一、LCR089.打家劫舍点击可直接跳转到该题目1️⃣题目描述一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响小偷偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚