大家好啊,我是小生啊🙈🙈🙈从今天开始小生将会和大家一起刷题,从今天开始小生也会开辟新的专栏。😜😜😜下一篇比这篇质量高多啦,哈哈,大家快来看啦~~~多种方法刷爆力扣———轮转数组🥳🥳🥳.🌞🌞🌞让我们多种方法解题练习,刷爆力扣,冲冲冲力扣练习:消失的数字🏃🏃🏃一.🏠题目描述二.🏠题目分析三.🏠解决方法1.🚀思路一:先排序再查找2.🚀思路二:逆推相减3.🚀思路三:异或运算求解四.🏠代码实现1.🚀方法一代码详解2.🚀方法二代码详解五.🏠结语一.🏠题目描述兄弟们,废话不多说直接看题:🙉🙉🙊示例1:输入:[3,0,1]输出:2示例2:输入:[9,6,4,2,3,5,7,0,1]输出:8二.🏠题目分析这道题
题一:有效的括号给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。示例 2:输入:s="()[]{}"输出:true思路一: 第一步:写出数组栈的结构体,然后分别写出栈的初始化,入栈,出栈,获取栈顶元素,销毁栈,检验栈是否为空的函数; 第二步:创建一个结构体变量,初始化,while(*s)决定是否继续循环,用switch找到对应的前置符号将他们入栈,如果是后置符号,则先判断ps中是否为空,然后再判断是否有对应的前
文章目录题目思路代码题目1572.矩阵对角线元素的和难度:简单描述:给你一个正方形矩阵mat,请你返回矩阵对角线元素的和。请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。返回合并后的二叉树。注意:合并过程必须从两个树的根节点开始。示例1:输入:mat=[[1,2,3],[4,5,6],[7,8,9]]输出:25解释:对角线的和为:1+5+9+3+7=25请注意,元素mat[1][1]=5只会被计算一次。示例2:输入:mat=[[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1]]输出:8示例3:输入:mat=[[5]]输出:5提示:-n==mat.
目录文章目录前言1.题目:设计循环队列2.思路3.分析 3.1定义循环队列 3.2创建队列 3.3判空和判满 3.4入队 3.5出队 3.6取队头队尾数据 3.7销毁队列 4.题解总结前言 当谈到队列数据结构时,很多人可能会想到普通的队列,即先进先出(FIFO)的数据结构。然而,有时候我们需要一种更高效的队列实现方式,这就是循环队列。1.题目:设计循环队列 题目描述: 题目链接:设计循环队列https://leetcode.cn/problems/design-circular-queue/2.思路 先来理解一下题意,首先队列的长度为定长k,其次就是队列可以循环利用
本篇主要以理解结构为主!!! 题一:用队列实现栈示例:输入:["MyStack","push","push","top","pop","empty"][[],[1],[2],[],[],[]]输出:[null,null,null,2,2,false]解释:MyStackmyStack=newMyStack();myStack.push(1);myStack.push(2);myStack.top();//返回2myStack.pop();//返回2myStack.empty();//返回False思路一: 初始化:初始化队列Q1,Q2;入栈
二刷hot100,坚持每天打卡3道题!!!Today:2023-8-291.两数之和//先求差,再查哈希表publicint[]twoSum(int[]nums,inttarget){MapInteger,Integer>map=newHashMap>();for(inti=0;inums.length;i++){intkey=target-nums[i];if(map.containsKey(key)){returnnewint[]{map.get(key),i};}map.put(nums[i],i);}returnnewint[0];}2.两数相加 //对应位置相加,记录进位,然后链表尾
目录前言1.题目:用栈实现队列2.思路3.分析 3.1定义“队列” 3.2创建队列3.3入队 3.4队头数据 3.5出队 3.6判空和销毁4.题解总结前言 栈和队列是数据结构中的两个重要概念,它们在算法和程序设计中都有着广泛的应用。本文将带你深入了解如何使用栈来模拟实现队列,让你在解决问题时更加灵活和创新,便于大家更深入的理解栈和队列。1.题目:用栈实现队列 题目描述: 题目链接:用栈实现队列https://leetcode.cn/problems/implement-queue-using-stacks/description/2.思路 这道题目的解题思路于队列
【力扣】2810.故障键盘你的笔记本键盘存在故障,每当你在上面输入字符‘i’时,它会反转你所写的字符串。而输入其他字符则可以正常工作。给你一个下标从0开始的字符串s,请你用故障键盘依次输入每个字符。返回最终笔记本屏幕上输出的字符串。示例1:输入:s=“string”输出:“rtsng”解释:输入第1个字符后,屏幕上的文本是:“s”。输入第2个字符后,屏幕上的文本是:“st”。输入第3个字符后,屏幕上的文本是:“str”。因为第4个字符是‘i’,屏幕上的文本被反转,变成“rts”。输入第5个字符后,屏幕上的文本是:“rtsn”。输入第6个字符后,屏幕上的文本是:“rtsng”。因此,返回“rts
目录题一:环形链表思路一:题二:复制带随机指针的链表 思路一:本人实力有限可能对一些地方解释的不够清晰,可以自己尝试读代码,望海涵!题一:环形链表给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从0开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。示例1:思路一: 定义快慢指针:slow,
给定一个mxn的矩阵,如果一个元素为0,则将其所在行和列的所有元素都设为0。请使用原地算法。输入:matrix=[[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]输入:matrix=[[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]提示:m==matrix.lengthn==matrix[0].length1-2^31进阶:一个直观的解决方案是使用O(mn)的额外空间,但这并不是一个好的解决方案。一个简单的改进方案是使用O(m+n)的额外空间,但这仍然不是最好