- 博客(29)
- 收藏
- 关注
原创 面向对象高级部分笔记汇总
类变量与类方法详解、main方法详解、代码块详解、单例设计模式介绍、final关键字详解、抽象类详解、接口详解、内部类详解
2022-10-12 14:02:07 257
原创 力扣刷题记录九:142、环形链表Ⅱ
记录力扣刷题第九题本文包含C++解法和Java、Python解法题目描述如下给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。提示:
2022-05-24 23:30:34 119
原创 力扣刷题记录八:19、删除链表的第N个结点
记录力扣刷题第八题本文包含C++两种解法以及Java和Python解法题目描述如下给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例与提示:示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]提示:链表中结点的数目为 sz1 <= sz <= 300 <= Node.val
2022-05-23 23:26:29 149
原创 力扣刷题记录七:206、反转链表
记录力扣刷题第七题本文包含C++两种解法以及Java和Python解法题目描述如下给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。来源:LeetCode思路:记录每个节点的上一个节点和下一个节点,把指向下一个节点的指针指向上一个节点即可。代码实现也很简单,如下。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; *
2022-05-22 21:32:17 154
原创 力扣刷题记录六:203、移除链表元素
记录力扣刷题第六题:本文包含C++三种解法和Python与Java的主观认为的最优解法题目描述如下给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。如图来源:LeetCode思路:其实就是个单链表的删除操作,对数据结构有一些了解的都知道该怎么做吧。关键的一点是要注意对头节点的删除操作,如果用传统方法,只需要把head向后移即可,可是这样就需要单独写对头节点的删除函数。代码如下:/** * Defin
2022-05-21 23:19:10 184
原创 力扣刷题记录五:59、螺旋矩阵 Ⅱ
记录力扣刷题第五题:本文包含C++题解和Java、Python题解题目描述如下给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。如图:来源:LeetCode思路:这题思路倒是挺好想的,就是像图片中描述的一样,绕圈循环。但是代码实现有一点点难度,要注意每次变量i,j循环的区间是左闭右开区间,这样才能正确的拐弯。代码实现如下:class Solution {public: vector<vector
2022-05-21 09:54:50 130
原创 力扣刷题记录四:209、长度最小的子数组
记录力扣刷题第四题:本文中包含C++两种方法的题解以及Java和Python的题解题目描述如下给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。来源:LeetCode思路:还是老样子,一看这题目就想到了双for循环,咔咔一写,果然过了,废话不多说了,直接上代码:class Solution
2022-05-19 23:46:45 310
原创 力扣刷题记录二:704、二分查找
记录力扣刷题第二题本文中包含C++两种方法的题解以及Java和Python的题解题目描述如下给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。来源:LeetCode思路:看到这题写的是有序的数组,马上就想到了二分查找的算法,但由于昨天写的题运用了哈希表来降低查找操作的时间复杂度,并且运用哈希表写出来的代码也更简单,所以我先试了试哈希表,代码如下。class Solution
2022-05-17 23:17:30 307
原创 力扣刷题记录一:1、两数之和
记录小白刷的第一题题目描述如下:Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.You may assume that each input would have exactly one solution, and you may not use the same element twice.You can re
2022-05-16 14:06:22 374
原创 C语言求图的最短路径的两种算法(迪杰斯特拉算法与弗洛伊德算法)
本人小白一枚~最近在学数据结构,学到了如何求图的最短路径,以此贴来记录学习成果,如有写的不当的地方还请大佬指正。参考资料:《大话数据结构》1、迪杰斯特拉(Dijkstra)算法:按路径长度递增依次求最短路径的算法。从第一个顶点V0依次求到下一个顶点的最短路径,代码及注释如下#include<stdio.h>#define maxsize 20#define infinity 65535typedef char VT;typedef int ET;t...
2021-10-28 15:13:40 2521 1
原创 c语言实现克鲁斯卡尔算法完整版(包含矩阵转化为边集并排序)
最近在看书学习数据结构时,学到图这一章时,有一些代码书上没有网上也找不到满意的,于是我就自己写啦,小白一枚,如果有写的不好的地方还请大佬指教克鲁斯卡尔算法的基本思想:将边集以权值从小到大的顺序排列,不断将最小权值的边取出,将各个顶点纳入一个森林,最后将森林的各树连接,构成一颗最小生成树代码如下:#include<stdio.h>#include<stdlib.h>#define maxsize 20#define maxedge 40#define ...
2021-10-27 11:50:29 617
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人