草庐IT

leetcode:求两数之和-easy

全部标签

【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

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

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

图灵日记之Leetcode删除有序数组中的重复项&&合并两个有序数组&&移除链表元素

题目删除有序数组中的重复项题目入口题目内容思路代码c版本c嘎嘎版本合并两个有序数组题目链接题目内容思路代码c版本(c嘎嘎版本与c版本内容一样)移除链表元素题目链接题目内容思路1代码1思路2代码2思路3代码3删除有序数组中的重复项题目入口题目内容给你一个非严格递增排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。然后返回nums中唯一元素的个数。考虑nums的唯一元素的数量为k,你需要做以下事情确保你的题解可以被通过:更改数组nums,使nums的前k个元素包含唯一元素,并按照它们最初在nums中出现的顺序排列。nums的其

leetcode 1633. 各赛事的用户注册率

https://leetcode.cn/problems/percentage-of-users-attended-a-contest/?envType=study-plan-v2&envId=sql-free-50聚合函数分组后计算的是一组内的数据,分组前我们认为所有数据是一组本题注意还需要嵌套语句selectcontest_id,round(count(user_id)/(selectcount(user_id)fromUsers)*100,2)aspercentagefromRegistergroupbycontest_idorderbypercentagedesc,contest_id