自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

01解题者~博客

01解题者,算法|数据结构,C/C++/JAVA/Python/,人工智能,解题

  • 博客(103)
  • 收藏
  • 关注

原创 Linux基础入门,简单讲解

Linux基础入门,简单讲解涵盖内容:计算机组成与Linux操作系统概论任务要求:大概了解计算机的主要组成部件,明白计算机磁盘分区方式,常用的计算单元换算以及LINUX是什么、有什么特点即可。文章目录1、请写成计算机的五大组成部分2、单位与进制转换3、 请简述HDD与SSD的特点和区别4、请简述什么是操作系统5、请简述什么是gcc和glibc,除了gcc以外,你还知道哪些linux上的C语言编译器6、请简述LINUX与Windows相比有什么好处,为什么我们需要学习比较难用的Linux呢?1、请写成

2022-03-27 11:13:43 2576

原创 二叉搜索树——概述】定义】相关习题】具体实现】基本操作】

二叉搜索树文章目录1、概述2、二叉搜索树的定义3、相关入门习题【1】[验证二叉搜索树](https://leetcode-cn.com/problems/validate-binary-search-tree/)1)解法一:递归2) 解法二:中序遍历【2】[二叉搜索树迭代器](https://leetcode-cn.com/problems/binary-search-tree-iterator/)4、二叉搜索树的基本操作1-搜索操作代码示例2-插入操作代码示例:3-删除操作代码示例:以上代码算法思想:5

2022-03-23 23:10:37 1176 1

原创 湖南大学CG题库(数据结构与算法)题解

前言:湖南大学2022数据结构与算法课程答案目录:实验一:预测线性表的实现1、基于链表的线性表实现(题解)题目描述:题解:反思:实验一:预测线性表的实现1、基于链表的线性表实现(题解)题目描述:题解:#include<bits/stdc++.h>using namespace std;//断言工具函数:如果val为假则输出s然后中断程序void Assert(bool val,string s){ if(!val){

2022-03-21 15:41:02 5135

原创 deuqe STL容器深入解析------/deque简述/deque源码简单剖析/deque的数据结构/deque的应用

前言:deque (double-ended queue,双端队列)是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。而在STL中,deque的实现尤为精妙。而理解deque容器,对理解STL、提高C++技术有重要意义而本文将详细介绍STL的deque容器

2022-03-15 22:35:22 1590

原创 数据结构与算法——绪论

前言:数据结构与算法是计算机科学与工程的基础,它们的相互关系和作用是程序的本质。凭借一句话获得图灵奖的Pascal之父Nicklaus Wirth把它们表示为 算法+数据结构=程序目录:1/数据结构与算法的重要性①数据结构的定义1/数据结构与算法的重要性①数据结构的定义...

2022-02-26 23:30:12 3350 2

原创 单源最短路径问题:迪杰斯特拉算法(Dijkstra’s algorithm)

迪杰斯特拉算法(Dijkstra),是从一个顶点到其余各顶点的最短路径算法,解决的是<font color="000066">有权图中最短路径问题<font color="66">,其主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。

2022-02-14 15:10:00 2112 1

原创 小球跳跃游戏——EasyX图形库应用——C++小游戏

小球跳跃游戏通过EasyX图形库制作小球跳跃游戏目录:1、EasyX图像库介绍及下载2、创建C++项目(控制台应用)3、具体代码4、游戏规则5、游戏效果6、参考图书1、EasyX图像库介绍及下载基础C/C++的可视化与交互功能较弱,printf、cout等函数仅能输出简单字符。通过EasyX图形库,可以实现快速绘图和简单的游戏编程。EasyX Graphics Library 是针对 Visual C++ 的免费绘图库,支持 VC6.0 ~ VC2022,简单易用,学习成本极低,应用领域广

2022-02-09 11:45:42 4953 5

原创 湖南大学2021届ACM新生赛【题目全解】——补题ing

HNU-2021新生杯牛客已经开过重现赛了,想挑战的朋友可以去看看ヾ(◍°∇°◍)ノ゙比赛传送门:重现赛目录:A题题面:题解:BF解法qspow解法反思:B题题面:题解:简单的数学:分析:反思:C题题面:题解:反思:D题题面:题意|分析:题解:[1]:补解:[2]官解:E题题面:题意|分析:[1]:补解:A题题面:

2022-01-17 21:53:49 1709

原创 图书馆信息管理系统——》你说这是你的大作业?>>>C++项目实战

前言:你说这是你的大作业?>>>虽然看起来很简单,很普通,但它确实是大作业,你可以从中发现无限乐趣…ヾ(◍°∇°◍)ノ゙——目录:【1】客户需求描述(题目描述):【2】难点分析:难点1️⃣(题目本身)难点2️⃣(卷神同学)【3】开始——【4】代码实现:1️⃣Labray.h2️⃣Labray.cpp3️⃣main.cpp4️⃣文件总览【5】效果展示1️⃣:开始界面2️⃣:注册界面3️⃣:管理员功能4️⃣:用户功能5️⃣:游览全部图书6️⃣:搜索图书7️⃣:借阅与归还图书8️⃣:管理员借阅/归还记录查看

2022-01-04 00:44:12 5236 20

原创 力扣3. 无重复字符的最长子串——《解题者:力扣解题之路》

前言:力扣3.无重复字符的最长子串,是最经典不过的滑动窗口题——虽然我的首解是用模拟法解决的q(≧▽≦q)这也说明了:算法不用生搬硬套,不断尝试、创新挑战才是不二法门✔关键字索引:滑动窗口、哈希表、模拟法、无重复的最长子串、力扣第三题目录:题目描述:题意补充:思路|破解——A解:将整个过程模拟,即可思路标识-:解题-:B解:经典的滑动窗口思路标识-:解题-:知识回顾:回到《解题者:力扣解题之路》目录:题目描述:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。题意

2021-12-25 12:39:55 927

原创 力扣2.两数相加——《解题者:力扣解题之路》

力扣2.两数相加大整数加法,是再经典不过的模拟——即:用数组或链表模拟 表示 大整数,用数组/链表对应各位的相加、进位,模拟整数的相加、进位。而,该力扣第二题正是一个最典型的示例。( ̄︶ ̄)↗关键字索引:数组、链表、模拟、大整数加法目录:题目描述:题意补充:思路|破解A解:链表转数组(用数组代替链表操作)思路标识:解题:B解:直接用链表模拟思路标识:解题:C解:链表模拟,进一步重构,B解优化思路标识:知识回顾:推荐习题:回到《解题者:力扣解题之路》目录:题目描述:给你两个 非空 的链表,

2021-12-24 22:48:31 785

原创 力扣1. 两数之和——《解题者:力扣解题之路》

前言:不同于某些OJ,力扣第一题对初学者不是很友好,初次看到它,可能一时想不到思路——但须知万事开头难,走出第一步,即相当于成功一半——而:我将为你认认真真地解开它ヾ(◍°∇°◍)ノ゙...

2021-12-23 19:35:57 3870 2

原创 IT公司职工管理系统——————C++文件交互式的项目实现】

职工管理系统文件交互式设计C++

2021-12-22 22:12:51 901 1

原创 QQ通讯录系统——用C++模拟实现,学C++必玩项目】

C++实现QQ通讯录项目单文件多文件

2021-12-21 18:15:33 2613 3

原创 《解题者:力扣解题之路》【前言】&暨&【目录】

《解题者:LeetCode解题之道》文章索引:解题目录:传送门——前言:后记:解题目录:传送门——点击题目即可实现传送ヾ(◍°∇°◍)ノ゙ 力扣1. 两数之和——《解题者:力扣解题之路》 力扣2.两数相加——《解题者:力扣解题之路》 力扣3. 无重复字符的最长子串——《解题者:力扣解题之路》分割线前言:我对该专栏的愿景:1️⃣大学四年里,至少将它完成到1000+题解2️⃣把它做成CSDN最好的力扣题解之一,同时也是leetcode里高质量题解之一。3️

2021-12-21 08:54:11 431 3

原创 湖南大学CG题库-(程序设计类课程教学辅助系统作业)【《HNU官方题解全集》】[绝密]—2021-2025

前言:如果你是HUNER,你可以用它来作为你的程序设计作业参考,加以学习,相信这档【官方题解】必能让你的编程学习轻松很多;对非HUNER的朋友,也可以用它作为参考,作为拓展,作为自我提高。说明:此文章最终将覆盖——我在HNU-CG遇到的题,这是我做出的承诺。但,我决定弄这件事时还在2021大一上,所以我会将一级目录分成每个学期,二级目录分成每个作业编号,三级目录分为每个题目名称——这样分步完成。 对于每次CG作业,如果题目过于简单,我可能会晚一点更新——这是很正常的事情 这里的题目主要是程序设计题

2021-12-15 21:26:16 8288 7

原创 《星空解题家》:最大公约数GCD∏最大公倍数LCM【问题】—朴素枚举,辗转相除法,更相减损术,Stein算法

最大公约数最小公倍数GCDLCM朴素枚举法欧几里得辗转相除法更相减损法Stein算法

2021-12-13 21:57:36 1192 3

原创 《算法:一解通全》双指针篇——一篇解破ㄈ双指针技巧」

双指针链表数组滑动窗口

2021-12-11 21:03:33 971 11

原创 《星空解题家》:二分快速幂——何为二分快速幂?二分思想解题

二分快速幂 分而治之

2021-12-11 00:03:09 807 4

原创 《算法:一解通全》位运算篇——一篇通识位运算、进制、原码补码反码

位运算:且、或、异或、左移、右移、取反进制、原码补码反码全解

2021-12-07 20:35:33 1230 13

原创 力扣190. 颠倒二进制位

力扣190. 颠倒二进制位题目描述颠倒给定的 32 位无符号整数的二进制位。提示:1.请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。2.在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825。示例一:输入:n = 000000.

2021-12-06 21:56:35 179

原创 力扣461. 汉明距离

力扣461. 汉明距离题目描述:两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。给你两个整数 x 和 y,计算并返回它们之间的汉明距离。示例一:输入:x = 1, y = 4输出:2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。示例二:输入:x = 3, y = 1输出:1提示:0 <= x, y <= 2^31 - 1思路:没有什么特殊的技巧,熟悉.

2021-12-06 21:20:30 345

原创 力扣324. 摆动排序 II

力扣324. 摆动排序 II题目描述:给你一个整数数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]… 的顺序。你可以假设所有输入数组都可以得到满足题目要求的结果。示例一:输入:nums = [1,5,1,1,6,4]输出:[1,6,1,5,1,4]解释:[1,4,1,5,1,6] 同样是符合题目要求的结果,可以被判题程序接受。示例二:输入:nums = [1,3,2,2,3,1]输出:[2,3,1,3,1.

2021-12-06 20:38:16 625

原创 力扣561. 数组拆分 I

题目描述:给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。返回该 最大总和 。示例一:输入:nums = [1,4,3,2]输出:4解释:所有可能的分法(忽略元素顺序)为:1. (1, 4), (2, 3) -> min(1, 4) + min(2, 3) = 1 + 2 = 32. (1, 3), (2, 4) ->.

2021-12-06 20:04:51 445

原创 力扣1913. 两个数对之间的最大乘积差

题目描述:两个数对 (a, b) 和 (c, d) 之间的 乘积差 定义为 (a * b) - (c * d) 。-------例如,(5, 6) 和 (2, 7) 之间的乘积差是 (5 * 6) - (2 * 7) = 16 。给你一个整数数组 nums ,选出四个 不同的 下标 w、x、y 和 z ,使数对 (nums[w], nums[x]) 和 (nums[y], nums[z]) 之间的 乘积差 取到 最大值 。返回以这种方式取得的乘积差中的 最大值 。示例1️⃣:输入:nums.

2021-12-06 19:17:07 304

原创 力扣136. 只出现一次的数字(异或位运算)

力扣136.只出现一次的数字题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例一:输入: [2,2,1]输出: 1示例二:输入: [4,1,2,1,2]输出: 4粗暴的解法I:直接计数class Solution {public: int singleNumber(vector<int>& nums) {.

2021-12-06 15:00:22 284

原创 力扣976. 三角形的最大周长

题目描述:给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。如果不能形成任何面积不为零的三角形,返回 0。示例一:输入:[2,1,2]输出:5示例二:输入:[1,2,1]输出:0示例三:输入:[3,2,3,4]输出:10示例四:输入:[3,6,2,3]输出:8提示:3 <= A.length <= 100001 <= A[i] <= 10^6解法一:直接排序class Solutio.

2021-12-05 15:59:56 523

原创 力扣539. 最小时间差

题目描述:给定一个 24 小时制(小时:分钟 “HH:MM”)的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。示例1:输入:timePoints = ["23:59","00:00"]输出:1示例2:输入:timePoints = ["00:00","23:59","00:00"]输出:0提示:2 <= timePoints <= 2 * 104timePoints[i] 格式为 "HH:MM"解法一:简单模拟思路:1.简化,以分钟为标准】【2.

2021-12-05 15:37:07 146

原创 力扣905:按奇偶排序数组

905. 按奇偶排序数组题目描述:给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。提示:1 <= A.length <= 50000 <= A[i] <= 5000解法一:临时空间class Solution {public: .

2021-12-05 14:53:03 139

原创 雪国列车》力扣入门-第一站(函数)

题目目录:371.两整数之和】面试题 17.01. 不用加号的加法】剑指 Offer 65. 不用加减乘除做加法解法一:直接用‘+’,‘-’;解法二(对数运算法):解法三:位运算法:解法四(二进制模拟进位):解法五:C++,STL模板解法六:卷积(这个是偷看别人的)计科学生含泪翻起了数学系的教材面试题 08.05. 递归乘法解法一:直接用*在这里插入图片描述解法二:递归(用循环迭代也可以for/while)在这里插入图片描述解法三:参照快速幂371. 两整数之和//面试题 17.01. 不用加号的加法

2021-12-01 15:02:59 308

原创 力扣268. 丢失的数字,五解法「排序I,计数I,原地哈希I,数学I,异或」难度:@-

力扣268. 丢失的数字题目描述:给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。示例一:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。示例二:输入:nums = [0,1]输出:2解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出现在 n

2021-11-29 23:39:23 177

原创 力扣215. 数组中的第K个最大元素(计数排序,优先队列)难度:@-

215. 数组中的第K个最大元素题目描述:(高频面试考题,考验基础语法,光会AC还远远不够)给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例一:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例二:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4提示:1 <= k <= nums.length <= 104-104 &

2021-11-28 23:12:48 585

原创 力扣169. 多数元素(排序,哈希表,)【-】

力扣:多数元素题目描述:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例一:输入:[3,2,3]输出:3示例二:输入:[2,2,1,1,1,2,2]输出:2解法1️⃣(排序,取下标为[n/2]的元素即可):class Solution {public: int majorityElement(vector<int>& nums) {

2021-11-27 22:27:18 581 3

原创 力扣881. 救生艇(贪心,双指针)

881. 救生艇题目描述:第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。返回载到每一个人所需的最小船数。(保证每个人都能被船载)。示例一:输入:people = [1,2], limit = 3输出:1解释:1 艘船载 (1, 2)示例二:输入:people = [3,2,2,1], limit = 3输出:3解释:3 艘船分别载 (1, 2), (2) 和 (3)示例三:

2021-11-27 00:00:46 568 1

原创 力扣217. 存在重复元素(排序||哈希集合)

217. 存在重复元素题目描述:给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例一:输入: [1,2,3,1]输出: true示例二:输入: [1,2,3,4]输出: false示例三:输入: [1,1,1,3,3,4,3,2,4,2]输出: true解法一:哈希集合class Solution {public: bool containsDuplicate(ve

2021-11-25 23:31:06 252

原创 力扣:164.最大间距(排序算法练习题)难度:@-

164.最大间距给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例一:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例二:输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0。示例三:你可以假设数组中所有元素都是非负整数,且数值在 32 位有符号整数范围内。请尝试在线性时间复杂度和空间复杂度的条件下解决此

2021-11-25 23:29:13 330

原创 十大排序算法实现(C++/JAVA)模板—总结)/十七万字/

选择排序、堆排序、桶排序、冒泡排序、API接口插入排序、计数排序、基数排序、快速排序、归并排序、

2021-11-25 23:12:33 1070 2

原创 力扣147. 对链表进行插入排序(插入排序的链表实现)

147. 对链表进行插入排序题目描述:对链表进行插入排序。插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。插入排序算法:1、插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。2、每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。3、重复直到所有输入数据插入完为止。示例一:输入: 4->2

2021-11-24 12:58:27 174

原创 力扣88. 合并两个有序数组(模板题)

题目描述:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。示例一:输入:nums1 = [1,2

2021-11-24 10:30:19 132

原创 力扣769. 最多能完成排序的块(数学,暴力)

769. 最多能完成排序的块题目描述:数组arr是[0, 1, …, arr.length - 1]的一种排列,我们将这个数组分割成几个“块”,并将这些块分别进行排序。之后再连接起来,使得连接的结果和按升序排序后的原数组相同。我们最多能将数组分成多少块?示例一:输入: arr = [4,3,2,1,0]输出: 1解释:将数组分成2块或者更多块,都无法得到所需的结果。例如,分成 [4, 3], [2, 1, 0] 的结果是 [3, 4, 0, 1, 2],这不是有序的数组。示例二:输入

2021-11-23 22:16:46 173

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除