草庐IT

SWUST OJ#794 最近对问题

目录题目思路方法1:暴力O(n²)方法2:换系暴力(玄学AC 复杂度O(n))方法3:分治O(nlogn)代码玄学AC法正常分治法题目题目描述设p1=(x1,y1),p2=(x2,y2),…,pn=(xn,yn)是平面上n个点构成的集合S,设计算法找出集合S中距离最近的点对。输入多组测试数据,第一行为测试数据组数n(0输出每组测试数据输出一行,为该组数据最近点的距离,保留4为小数。样例输入2200013001110样例输出1.00001.0000思路首先,用结构体构造点集(或者stl的pair也行)#defineN100005typedefstruct{doublex,y;}point;poi

(c语言实现)数据结构链表oj题(2)

前言🎈个人主页:🎈:✨✨✨初阶牛✨✨✨🐻推荐专栏:🍔🍟🌯C语言进阶🔑个人信条:🌵知行合一🍉本篇简介:>:分析力扣中有关链表的部分题目.目录前言一、链表中倒数第k个结点题目描述:解题思路:二、合并两个有序链表题目描述:解题思路:三、分割链表题目描述:解题思路:四、链表的回文结构题目描述:解题思路:一、链表中倒数第k个结点题目来源于:牛客网->题目链接题目描述:输入一个链表,输出该链表中倒数第k个结点。示例:输入:1,{1,2,3,4,5}返回值:{5}解题思路:创建两个指针:①:返回指针:ret.②:后指针:tail后指针(tail),将该指针先走k-1步.两个指针同时走,当后指针走向最后一个结

(C语言版)力扣(LeetCode)+牛客网(nowcoder)链表相关面试题OJ题解析

链表面试题203.移除链表元素题目解法一:递归解法二:迭代206.反转链表题目解法一:递归解法二:迭代876.链表的中间结点题目解法一:快慢指针法解法二:单指针法链表中倒数第k个结点题目解法21.合并两个有序链表题目解法一:递归解法二:迭代CM11链表分割题目解法OR36链表的回文结构题目解法160.相交链表题目解法141.环形链表解法142.环形链表II题目解析138.复制带随机指针的链表题目解析结语203.移除链表元素题目给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val==val的节点,并返回新的头节点。题目链接:移除链表元素解法一:递归代码如下:str

二叉树OJ题目合集(单值、对称、平衡、构建加遍历)

目录前言:一:单值二叉树二:二叉树遍历核心点(1)前序(2)中序(3)后序三:判断两颗树是否相同四:判断二叉树是否对称五:判断一颗树是否为另一颗树的子树六:平衡二叉树七:二叉树的构建加遍历前言:这一部分适合已经适用于已经掌握二叉树基础的同学(遍历,求节点数等)。不清楚的同学可以先看之前一期:https://blog.csdn.net/2301_76269963/article/details/130231257?spm=1001.2014.3001.5502一:单值二叉树题目链接:https://leetcode.cn/problems/univalued-binary-tree/submis

(C语言版)力扣(LeetCode)数组相关面试题OJ题解析

数组相关面试题26.删除有序数组中的重复项题目说明示例一示例二提示解析27.移除元素题目说明示例1示例2提示解析解法一解法二88.合并两个有序数组题目示例一示例二示例三提示解析结语26.删除有序数组中的重复项题目给你一个升序排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。然后返回nums中唯一元素的个数。考虑nums的唯一元素的数量为k,你需要做以下事情确保你的题解可以被通过:★更改数组nums,使nums的前k个元素包含唯一元素,并按照它们最初在nums中出现的顺序排列。nums的其余元素与nums的大小不重要。★返回

【二叉树OJ题(二)】前序遍历&&中序遍历&&后序遍历&&另一颗树的子树&&二叉树遍历&&平衡二叉树

​​📝个人主页:@Sherry的成长之路🏠学习社区:Sherry的成长之路(个人社区)📖专栏链接:数据结构🎯长路漫漫浩浩,万事皆有期待文章目录二叉树OJ练习(二)1、二叉树的前序遍历2、二叉树的中序遍历3、二叉树的后序遍历4、另一颗树的子树5、二叉树遍历6、平衡二叉树总结:上一篇博客:【二叉树OJ题(一)】二叉树OJ练习(二)1、二叉树的前序遍历链接:144.二叉树的前序遍历题述:给你二叉树的根节点root,返回它节点值的前序遍历。示例1:输入:root=[1,null,2,3]输出:[1,2,3]示例2:输入:root=[]输出:[]示例3:输入:root=[1]输出:[1]示例4:输入:r

链表OJ(下)

目录1、链表分割2、链表的回文结构3、相交链表4、环形链表5、复制带随机指针的链表前言:上次链表OJ开了个素,这次直接上荤菜,让你回味无穷!1、链表分割链接:牛客:链表分割题目:题解:/*structListNode{intval;structListNode*next;ListNode(intx):val(x),next(NULL){}};*/classPartition{public:ListNode*partition(ListNode*pHead,intx){//writecodeherestructListNode*lessHead,*lessTail,*greaterHead,*g

【数据结构】链表OJ特别篇 —— 面试情景带你深度剖析 环形链表系列问题 && 复制带随机指针的链表

👑作者主页:@进击的安度因🏠学习社区:进击的安度因(个人社区)📖专栏链接:数据结构文章目录1.环形链表2.环形链表延伸问题3.环形链表II4.复制带随机指针的链表如果无聊的话,就来逛逛我的博客栈吧!🌹Hello,大家好,我是anduin。这期的内容依然是链表OJ。但与前两期不同的是,这次我会模拟面试的情景,由浅入深,以生动形象的方式,带你一步步吃透这些OJ题。内容为经典的环形链表系列问题、复制带随机指针的链表这一十分考验链表功底的题目。总体来说,题目还是有一定难度的,所以,接下来打起精神,认真看完,相信你会收获很多!话不多说,我们这就开始!注:本故事纯属虚构,仅为配合题目的讲解,如有雷同实属巧

SWUST OJ#541 排列的字典序问题

目录题目思路引入本题思路解决第一小问:求解字典序值解决第二小问:求解字典序下一个排列代码题目题目描述n个元素{1,2,...,n}有n!个不同的排列。将这n!个排列按字典序排列,并编号为0,1,…,n!-1。每个排列的编号为其字典序值。例如,当n=3时,6个不同排列的字典序值如下:  0   1     2    3    4    5123 132  213  231  312  321任务:给定n以及n个元素{1,2,...,n}的一个排列,计算出这个排列的字典序值,以及按字典序排列的下一个排列。输入第1行是元素个数n(n输出第一行是字典序值,第2行是按字典序排列的下一个排列。样例输入82

【数据结构】链表OJ(二)

Yan-英杰的博客  悟已往之不谏知来者之可追目录一、反转链表二、合并两个有序链表三、链表分割四、链表的回文结构一、反转链表 输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]输入:head=[1,2]输出:[2,1]示例3:输入:head=[]输出:[]提示:链表中节点的数目范围是[0,5000]-5000方法一:        代码解析:   structListNode*reverseList(structListNode*head){if(head==NULL){returnNULL;}structListNode*n1,*n2,*n3;n1=NULL;n2=head;