草庐IT

leetcode题解

全部标签

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() 如果栈是空的,返回 

CCF-CSP真题《202309-2 坐标变换(其二)》思路+python,c++满分题解

想查看其他题的真题及题解的同学可以前往查看:CCF-CSP真题附题解大全试题编号:202309-2试题名称:坐标变换(其二)时间限制:2.0s内存限制:512.0MB问题描述:问题描述对于平面直角坐标系上的坐标 (x,y),小P定义了如下两种操作:拉伸 k 倍:横坐标 x 变为 kx,纵坐标 y 变为 ky;旋转 θ:将坐标 (x,y) 绕坐标原点 (0,0) 逆时针旋转 θ 弧度(0≤θ设定好了包含 n 个操作的序列 (t1,t2,⋯,tn) 后,小P又定义了如下查询:ijxy:坐标 (x,y) 经过操作 ti,⋯,tj(1≤i≤j≤n)后的新坐标。对于给定的操作序列,试计算 m 个查询的结

kaggle新赛:Optiver 美股价格预测赛题解析

赛题名称:Optiver-TradingattheClose赛题链接:https://www.kaggle.com/competitions/optiver-trading-at-the-close赛题背景证券交易所是快节奏、高风险的环境,每一秒都很重要。随着交易日接近尾声,强度不断升级,在关键的最后十分钟达到顶峰。这些时刻通常以波动加剧和价格快速波动为特征,在塑造当今全球经济叙事方面发挥着关键作用。纳斯达克证券交易所的每个交易日都以纳斯达克收盘交叉拍卖结束。此过程确定了在交易所上市的证券的官方收盘价。这些收盘价是投资者、分析师和其他市场参与者评估个别证券和整个市场表现的关键指标。在这个复杂的

算法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分别最后会指

leetcode:2485. 找出中枢整数(python3解法)

难度:简单给你一个正整数 n ,找出满足下述条件的 中枢整数 x :1 和 x 之间的所有元素之和等于 x 和 n 之间所有元素之和。返回中枢整数 x 。如果不存在中枢整数,则返回 -1 。题目保证对于给定的输入,至多存在一个中枢整数。示例1:输入:n=8输出:6解释:6是中枢整数,因为1+2+3+4+5+6=6+7+8=21。示例2:输入:n=1输出:1解释:1是中枢整数,因为1=1。示例3:输入:n=4输出:-1解释:可以证明不存在满足题目要求的整数。提示:1题解:(题目怎么说就怎么来)classSolution(object):defpivotInteger(self,n):res=[]