草庐IT

OJ题目

全部标签

OJ题-链表

一、链表的中间结点---找到中间的节点并返回 思路1:先计算链表的长度,然后定义一个变量k没走一步k++,当k>= count/2时循环结束,返  回curstructListNode*middleNode(structListNode*head){    intcount=0;   structListNode*cur=head;    while(cur!=NULL)    {      cur=cur->next;      count++;    }    intk=0;    cur=head;    while(knext;      k++;    }    returncur;

寒假1.29日所学--动态规划题目

题目:EducationalCodeforcesRound157Editorial-Codeforces C思想:有一个明显的O(n^2) 方法:迭代第一部分,第二部分并检查总和。为了改进它,让我们尝试摆脱第二次迭代。考虑第一部分长于或等于第二部分的情况。因此,我们仍然迭代O(n) 中的第一部分。但是,我们不是对确切的第二部分进行迭代,而是对其长度进行迭代。现在,我们知道各部分的总长度,但不知道它们的数字和。嗯,不完全是。通过固定较长的部分,我们实际上知道每一半所需的总和应该是多少。它完全在第一部分里面。然而,该第一部分还包含属于后半部分的一些数字。因此,如果第二部分的和是$s$,则后半部分的

LeetCode 100题目(python版本)待续...

一.哈希1.两数之和题目给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。示例:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]==9,返回[0,1]。代码classSolution:  deftwoSum(self,nums:List[int],target:int)->List[int]:    hash_map={}    fori,numinenum

动态规划相关题目总结

221.最大正方形设dp[i][j]为以点(i,j)为右下角的正方形最大边长,多画画图模拟模拟可以发现递推式dp[i][j]=min(dp[i][j-1],dp[i-1][j-1],dp[i-1][j])+1。classSolution{public:intmaximalSquare(vector>&matrix){intn=matrix.size(),m=matrix[0].size(),res=0;vector>dp(n,vector(m));for(inti=0;i53.最大子数组和经典dp,设dp[i]为以nums[i]结尾的最大子数组和,考虑是否与nums[i-1]结尾的最大子数组结

手撕链表OJ

𝙉𝙞𝙘𝙚!!👏🏻‧✧̣̥̇‧✦👏🏻‧✧̣̥̇‧✦👏🏻‧✧̣̥̇:Solitary-walk   ⸝⋆ ━━━┓   -个性标签-:来于“云”的“羽球人”。Talkischeap.Showmethecode┗━━━━━━━ ➴ⷯ本人座右铭: 欲达高峰,必忍其痛;欲戴王冠,必承其重。👑💎💎👑💎💎👑 💎💎💎自💎💎💎💎💎💎信💎💎💎👑💎💎 💎💎👑  希望在看完我的此篇博客后可以对你有帮助哟👑👑💎💎💎👑👑  👑👑👑💎👑👑👑目录:一 ​​​​​​移除链表元素二:反转一个单链表三:链表的中间结点四:链表中倒数第k个结点五:合并两个有序链表六:链表分割七:链表的回文结构八:相交链表题目:九: 环形链表十:环形链

线性DP题目汇总(持续更新)

一、前言此篇章主要整理一些关于线性dp的题目,很多题目其实都可以被挂上线性dp的标志,比如最熟悉的最长上升子序列啊,最长公共子序列啊等等,并且线性dp在自己写力扣周赛的题目的时候,真的会时不时出几道,然后刚好利用这些题目加上dp分析的方法,把题目好好写一写。二、题目汇总①力扣2369.检查数组是否存在有效的划分(1)题目描述(2)dp分析状态转移方程:f[i]=Or{f[i−2],i≥2&&num[i−1]=num[i−2]f[i−3],i>=3&&num[i−1]=num[i−1]=num[i−2]f[i−3],i>=3&&num[i−1]−num[i−2]=num[i−2]−num[i−3

【Java 数据结构】栈与OJ题

篮球哥温馨提示:编程的同时不要忘记锻炼哦!风在叙述它的阅历,树在书写它的温柔。目录风在叙述它的阅历,树在书写它的温柔。1、什么是栈?2、模拟实现一个栈2.1构造方法和成员属性2.2 push方法2.3 pop方法2.4peek方法2.5empty方法3.栈相关的OJ题3.1 有效括号(来源:LeetCode难度:简单)  3.2逆波兰表达式求值(来源:LeetCode难度:中等)  3.3 栈的压入、弹出序列(来源:牛客网难度:中等) 1、什么是栈?栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出

【C++】---static成员(附OJ题)

一、静态成员变量1.概念:声明为static的类成员称为类的静态成员,静态成员分为两种:(1)static修饰的成员变量:静态成员变量(2)static修饰的成员函数:静态成员函数注意:静态成员变量一定要在:类外进行初始化2.如何计算一个类里面定义了多少个对象?#includeusingnamespacestd;classA{public: A() { ++countA; } A(constA&n) { ++countA; } ~A() { --countA; } //静态成员函数专门访问静态成员变量 staticintGetCountA() { returncountA; }priv

小白水平理解面试经典题目LeetCode 1025 Divisor Game【动态规划】

1025除数游戏小艾和小鲍轮流玩游戏,小艾首先开始。最初,黑板上有一个数字n。在每个玩家的回合中,该玩家做出的动作包括:选择任意x,使0将黑板上的数字n替换为n-x。此外,如果玩家无法采取行动,他们就会输掉比赛。当且仅当小艾赢得游戏时返回true,假设两个玩家都发挥最佳。例子在大学某个自习的下午,小白坐在教室看到这道题。想想现年景一过,没有什么理由再不学习了。真是若对黄花孤负酒,怕黄花,也笑人岑寂。这时候黑长直女神过来问:小白,你看到1025这道题了吗,怎么感觉看着很简单,但是理解起来很麻烦啊,这道题你有什么思路呢?小白内心镇定:这机会不就来了吗,小美,《一起摇太阳》有机会一起去看看吧?哦,不

数据结构——链表OJ题

目录 1.给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val==val 的节点,并返回 新的头节点 。2.给定一个带有头结点head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。3.变形题:找到链表中倒数第k个节点4.经典题:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。结语个人主页:大耳朵土土垚-CSDN博客所属专栏:数据结构学习笔记 1.给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val==val 的节点,并返回 新的头节点 。