草庐IT

牛客刷题

全部标签

链表oj题2(Leetcode)(牛客)——合并两个有序链表;判断回文链表;链表分割

链表oj题2(Leetcode)(牛客)一,合并两个有序链表1.1分析2.2代码二,链表的回文结构2.1分析2.2代码三,链表分割3.1分析3.2代码四,小结一,合并两个有序链表合并两个有序链表(力扣)1.1分析这里合并两个链表,我们首先想到的思路就是构建一个新的链表,然后比较两个链表的val值的大小依次插入新链表,这里我们还需要注意几个细节如果其中一个链表是空的那那么我们直接返回另外一个非空的链表我们在比较插入的时候用的是while循环条件就是两个链表都不为空,那么如果一个链表已经结束了,那么我们再后面应该再把另外一条链表插入完。还有一些细节我在我的代码注释中有做标注。2.2代码tructL

牛客网刷Java记录第一天

第一题下列程序输出啥?publicclassStringDemo{privatestaticfinalStringMESSAGE="taobao";publicstaticvoidmain(String[]args){Stringa="tao"+"bao";Stringb="tao";Stringc="bao";System.out.println(a==MESSAGE);System.out.println((b+c)==MESSAGE);}}解析:做这道题之前,需要明白三个知识点:==符号比较引用类型时,比较的是双方的地址。Strings="xxx"或者,Strings="xxx"+"yy

OJ刷题---[算法课动态规划]走网格(C++完整代码)

题目:m行n列的网格,从左上角(1,1)出发,每一步只能向下或者向右,问共有多少种方法可以走到右下角(m,n);输入:输入参数mn(1输出:输出多少种走法比如:输入:23输出:3输入:55输出:70完整代码(C++):#includeusingnamespacestd;intsum(intm,intn){ inttotal; if(m==1||n==1) { return1; } if(m==2&&n==2) { return2; } returnsum(m-1,n)+sum(m,n-1);}intmain(){ intm,n; cin>>m; cin>>n; inttotal; tota

力扣刷题笔记-06 N字形变换

06N字形变换不要混日子,小心日子把你混了对于题目的理解比如说,我给一个字符串,LEETCODE,行数为3,然后按照N字形排列,就是下面这个排列方式。排列完之后正常读取,结果就是LCETOEED。这叫做N字形变换。这个例子里给的行数就是3,往下排三行,然后往右往上走。chatGPT思路边界情况/特殊情况:就给一行,或者给的行数和字符串的长度是一样的,那么就直接返回原来的字符串创建一个长度为numRows的字符数组rows,用于存储每行的字符。。。没抄完,但是我已经理解了。我的理解:准备一个数组,类型是StringBuilder,StringBuilder[]rows=newStringBuil

【刷题】2023年第十四届蓝桥杯大赛软件类省赛C/C++大学A组真题

蓝桥杯2023年第十四届省赛真题-平方差-C语言网(dotcpp.com) 初步想法,x=y2 −z2=(y+z)(y-z)即x=a*b,a=y+z,b=y-z2y=a+b即a+b是2的倍数就好了。即x存在两个因数之和为偶数就能满足条件。但时间是(r-l)*x,数据1e9,直接T了#includeusingnamespacestd;constintN=1e5+10;mapmp;intcnt;booljudge(intx){ for(inti=1;i>l>>r; for(inti=l;i运行结果:进一步分析:根据题意多写几个,不难发现奇数似乎都能拆成y2 −z2的形式?因此,我们从奇偶的角度来

【小嘟陪你刷题02】牛客网——Java专项练习

❤️❤️个人主页:摸鱼王胖嘟嘟🌟🌟作品专栏:小嘟陪你刷题系列📑给大家推荐一款非常火的面试、刷题、学习神器👉牛客网👉点击注册一起刷题、学习、讨论收获大厂offer吧!前言本篇是对JavaSE基础知识的一些练习!希望能够很快的掌握JavaSE的知识!第一题:解析:C不存在x[25]索引从0开始到length-1x[24]存的是默认值0(java中没有’\0’这一说)x[25]属于数组越界了!超出了内存!x[0]才是访问此数组的第一个元素第二题:解析答案:B在类方法中不能有this关键字直接调用类方法即可,A错误,B正确,在类方法中可以通过创建实例对象调用类的实例方法,C\D错误第三题:解析答案:A

牛客小白月赛71

A.猫猫与广告题目:分析:只需考虑c*d的矩阵竖着摆和横着摆两种情况。本题提示了考虑两矩阵对应边平行的情况,实际上可以证明倘若能斜着放,那么一定可以横着放或竖着放,证明方式可已通过构造三角形来证明a*b的矩阵的长宽一定小于c*d矩阵的长宽。code:#include#includeusingnamespacestd;intmain(){inta,b,c,d;cin>>a>>b>>c>>d;if(a>b)swap(a,b);if(c>d)swap(c,d);if((aB.猫猫与密信题目:分析:由于只消失一个字符,因此可以对可能存在love的子串进行讨论:①消失的不是字符i,则满足条件的子串有:l

牛客小白月赛72

A.跳跃游戏题目:分析:根据跳跃规则,只要中间存在高度介于起点和终点之间的平台即可让小Z从第一个平台跳到最后一个平台。code:#includeusingnamespacestd;constintN=1e5+5;inta[N];intmain(){std::ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);intn;cin>>n;for(inti=0;i>a[i];boolcheck=false;if(a[0]B.数数题目:分析:首先n最大只有4000,因此我们可以预处理前4000个数,看每一个数其因子数量是否为奇数,最后做一遍前缀和即可。c

【刷题篇】贪心算法(一)

文章目录分割平衡字符串买卖股票的最佳时机Ⅱ跳跃游戏钱币找零分割平衡字符串classSolution{public:intbalancedStringSplit(strings){intlen=s.size();intcnt=0;intbalance=0;for(inti=0;ilen;i++){if(s[i]=='R'){balance--;}else{balance++;}if(balance==0){cnt++;}}returncnt;}};买卖股票的最佳时机ⅡclassSolution{public:intmaxProfit(vectorint>&prices){intmaxprofit

leetcode刷题(8)二叉树(2)

各位朋友们,大家好!今天我为大家分享的是关于二叉树leetcode刷题的第二篇,我们一起来看看吧。文章目录1.对称二叉树题目要求示例做题思路代码实现2.二叉树的最大深度题目要求示例做题思路代码实现3.翻转二叉树题目要求示例做题思路代码实现4.平衡二叉树题目要求示例做题思路代码实现1.对称二叉树leetcode之对称二叉树(难度:简单)题目要求给你一个二叉树的根节点root,检查它是否轴对称。/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){