草庐IT

LeetCode_day

全部标签

LeetCode 面试题 08.02. 迷路的机器人

文章目录一、题目二、C#题解一、题目  设想有个机器人坐在一个网格的左上角,网格r行c列。机器人只能向下或向右移动,但不能走到一些被禁止的网格(有障碍物)。设计一种算法,寻找机器人从左上角移动到右下角的路径。  网格中的障碍物和空位置分别用1和0来表示。  返回一条可行的路径,路径由经过的网格的行号和列号组成。左上角为0行0列。如果没有可行的路径,返回空数组。示例1:输入:[[0,0,0],[0,1,0],[0,0,0]]输出:[[0,0],[0,1],[0,2],[1,2],[2,2]]解释:输入中标粗的位置即为输出表示的路径,即0行0列(左上角)->0行1列->0行2列->1行2列->2行

Leetcode—765.情侣牵手【困难】

2023每日刷题(二十七)Leetcode—765.情侣牵手并查集+置换环思路参考自ylb实现代码classSolution{public:intminSwapsCouples(vectorint>&row){intn=row.size();intlen=n/2;vectorint>p(len);iota(p.begin(),p.end(),0);functionint(int)>find=[&](constint&x){if(x!=p[x]){p[x]=find(p[x]);}returnp[x];};for(inti=0;in;i+=2){intleft=row[i]/2;intright

实战Leetcode(四)

Practicemakesperfect!实战一:这个题由于我们不知道两个链表的长度我们也不知道它是否有相交的节点,所以我们的方法是先求出两个链表的长度,长度长的先走相差的步数,使得两个链表处于同一起点,两个链表在同时走,如果两个链表节点的地址相等就存在相交的节点,在放回第一个节点就可以了。structListNode*getIntersectionNode(structListNode*headA,structListNode*headB){structListNode*curA=headA;structListNode*curB=headB;intlenA=1;intlenB=1;whil

Leetcode实战

我们今天来利用这段时间的学习实操下我们的oj题。intremoveElement(int*nums,intnumsSize,intval){intdst=0;intsrc=0;while(srcnumsSize){if(nums[src]!=val){nums[dst++]=nums[src++];}elsesrc++;}returndst;}我们这里用用两个下标,src来移动,如果val等于我们的nums[src],我们就src++找到下一个位置,如果不相等我们就将下标src的值赋给dst。intremoveDuplicates(int*nums,intnumsSize){intdst=0;

leetcode-链表经典题

 1.反转单链表206. 反转链表https://leetcode.cn/problems/reverse-linked-list/这里我们使用创建一个变量cur来遍历原链表,再创建一个新节点newnode,首先使用一个循环来遍历原链表,cur为NULL是循环结束,每次进入循环将cur的下一个节点赋给tail,然后将cur取下来头插,第一次头插的节点的next置为NULL,也就是cur->next=newnode,然后将cur这个节点赋给newnode,在新链表上相当于往左走一步,newnode=cur,然后cur在旧链表上往右走,cur=tail。循环结束后cur就为NULL了,也就是全部完

[LeetCode]-225. 用队列实现栈-232. 用栈实现队列

目录225.用队列实现栈题目思路 代码232.用栈实现队列题目 思路代码225.用队列实现栈225.用队列实现栈-力扣(LeetCode)https://leetcode.cn/problems/implement-stack-using-queues/description/题目请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:voidpush(intx) 将元素x压入栈顶。intpop() 移除并返回栈顶元素。inttop() 返回栈顶元素。booleanempty() 如果栈是空的,返回 

算法leetcode|88. 合并两个有序数组(rust重拳出击)

文章目录88.合并两个有序数组:样例1:样例2:样例3:提示:分析:题解:rust:go:c++:python:java:88.合并两个有序数组:给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m+n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n。样例1:输入: nums1=[1,2,3,0,0,0],m=3,nu

力扣每日一道系列 --- LeetCode 160. 相交链表

📷江池俊:个人主页🔥个人专栏:✅数据结构探索✅LeetCode每日一道🌅有航道的人,再渺小也不会迷途。文章目录LeetCode160.相交链表思路:首先计算两个链表的长度,然后判断两个链表的尾节点是否相同。如果不同,那么这两个链表就没有交集,返回空;如果相同,那么就通过计算两个链表的长度差,让长链表先走差距步,然后两个链表一起走,直到它们相遇。具体步骤如下:初始化两个指针cur1和cur2分别指向headA和headB,即两个链表的头节点。同时,初始化两个变量lenA和lenB分别用来计算两个链表的长度。通过循环计算lenA和lenB,这里的循环是计算链表的长度,cur1和cur2分别最后会指

Day01_《MySQL索引与性能优化》摘要

一、资料视频:《尚硅谷MySQL数据库高级,mysql优化,数据库优化》—周阳其他博主的完整笔记:MySQL我的笔记:我的笔记只总结了视频p14-p46部分,因为只有这部分是讲解了MySQL的索引与explain语句分析优化SQL,属于开发人员必备技能,其余的内容用到啥学啥就行二、章节:1、MySQL前言p01-p13讲解了MySQL在Linux系统中的安装部署,MySQL系统的架构,MySQL的SQL执行加载顺序,MySQL的几种Join之类的,属于基础知识,只做了解不做笔记2、MySQL索引与性能优化—explainp14-p46是讲解了MySQL的索引与explain语句分析优化SQL着

【C刷题】day5

一、选择题1、如下程序的功能是()#includeintmain(){charch[80]="123abcdEFG*&";intj;puts(ch);for(j=0;ch[j]!='\0';j++)if(ch[j]>='A'&&ch[j]A:测字符数组ch的长度B:将数字字符串ch转换成十进制数C:将字符数组ch中的小写字母转换成大写D:将字符数组ch中的大写字母转换成小写【答案】:D【解析】:考点:大小写转换(ASCII值)一个字母对应的小写比大写的ASCII码值大32'e'和'E'之间的ASCII码值相差32(ch[j]+'e'-'E'相当于ch[j]+32)。一个字母从大写转化为小写就是