自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Inmaturity_7的博客

努力努力再努力

  • 博客(167)
  • 资源 (1)
  • 收藏
  • 关注

原创 并查集模板--C语言

并查集模板–C语言#include <stdio.h>//初始化并查集void Initial(int S[],int size){ for(int i=0;i<size;i++){ S[i]=-1; }} //Find "查"操作,找x所在集合(路径压缩)int Find(int S[],int x){ int root=x; while(S[root]>=0) root=S[root];//循环找到根 while(x!=root){//压缩路径

2021-10-30 11:31:00 2734

原创 408计算机考研--数据结构--2020年统考真题(C语言)

2020年408统考真题(C语言)一、题目描述定义三元组(a,b,c)(a、b、c均为正数)的距离D=|a-b|+|b-c|+|c-a|。给定3个非空整数集合S1、S2、S3,按升序分别存储在3个数组中。请设计一个尽可能高效的算法,计算并输出所有可能的三元组(a,b,c)(a∈S1,b∈S2,c∈S3)中的最小距离。例如S1={-1,0,9},S2={-25,-10,10,11},S3={2,9,17,30,41},则最小距离为2,相应的三元组为(9,10,9)。二、算法的基本思想①使用Dmin记录

2021-08-24 19:06:04 3038

原创 408计算机考研--数据结构--排序模板(C语言)

数据结构–排序模板(C语言)1.插入排序–直接插入排序(稳定的排序算法)//折半插入排序--稳定排序。//时间复杂度:最好情况下:O(n)。最坏情况下:O(n^2);//空间复杂度:O(1)void InsertSort3(int* A,int numSize){ int i,j,low,high,mid,temp; for(int i=1;i<numSize;i++){ //找到前有序序列的当前数的插入位置 temp=A[i]; low=

2021-07-17 10:46:28 611

原创 408计算机考研--数据结构--2016年统考真题(C语言)

标题408数据结构–2016年统考真题(C语言)一、题目描述已知由n(n>=2)个正整数构成的集合A={ak|0<=k<n},将其划分为两个不相交的子集A1和A2,元素个数分别是n1和n2,A1和A2中的元素之和分别为S1和S2。设计一个尽可能高效的划分算法,满足|n1-n2|最小且|S1-S2|最大。要求:给出算法的基本设计思想。根据设计思想,采用C或C++语言描述算法,关键之处给出注释说明你所设计的算法的平均时间复杂度和空间复杂度。二、解决思路1. 暴力法–排序直接

2021-07-16 18:48:15 2328

原创 算法练习贴--75--在排序数组中查找元素的第一个和最后一个位置(C语言)

标题在排序数组中查找元素的第一个和最后一个位置(C语言)一、题目描述给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。(题目来源:力扣(LeetCode))进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例 2:输入:nums = [

2021-07-16 12:15:37 385

原创 算法练习帖--74--在排序数组中查找数字 I(C语言)

在排序数组中查找数字 I(C语言)一、题目描述统计一个数字在排序数组中出现的次数。(题目来源:力扣(LeetCode))示例 1输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: 0限制:0 <= 数组长度 <= 50000二、解决方法二分查找int search(int* nums, int numsSize, int target)

2021-07-16 11:57:48 130

原创 408计算机考研--数据结构--图的学习(C语言)

图的学习一、图的存储及BFS、DFS算法1.1、邻接矩阵法特点:无向图的邻接矩阵一定是一个对称矩阵(并且唯一)。因此,在实际存储邻接矩阵时只需存储上(或下)三角矩阵的元素。对于无向图,邻接矩阵的第i行(或第i列)非零元素(或非∞元素)的个数正好是顶点i的度TD(vi)。对于有向图,邻接矩阵的第i行非零元素(或非∞元素)的个数正好是顶点i的出度OD(vi);第i列非零元素(或非∞元素)正好是顶点i的入度ID(vi)。用邻接矩阵存储图,很容易确定图中任意两个顶点之间是否有边相连。但是,要确定图中

2021-07-15 08:29:39 735

原创 408计算机考研--数据结构--二叉排序树学习(C语言)

二叉排序树一、二叉排序树(创建、增删改查)学习#include<stdio.h>#include<stdlib.h>typedef struct BSTNode{ int key; struct BSTNode *lchild,*rchild;}BSTNode,*BSTree;//在二叉排序树插入关键字为k的新结点(递归实现),时间复杂度:O(h)-O(n)之间 int BST_Insert(BSTree &T,int k){ if(T==NULL){/

2021-07-09 19:03:09 188

原创 408计算机考研--数据结构--线索化二叉树学习(C语言)

线索化二叉树学习(C语言)一、线索二叉树的基本概念​ 传统的二叉链表存储仅能体现一种父子关系,不能直接得到结点在遍历中的前驱或后继。我们知道,在含n个结点的二叉树中,有n+1个空指针。利用这些空指针来存放其前驱或后继的指针,这样就可以使得我们在遍历二叉树时可以像遍历单链表那样方便。引入线索二叉树正是为了加快查找结点前驱和后继的速度。(有三种线索化二叉树,分别是先序线索化二叉树、中序线索化二叉树以及后序线索化二叉树)二、中序线索化二叉树创建、找前驱、找后继以及遍历#include<stdio.h

2021-07-08 18:01:23 557

原创 408计算机考研--数据结构--二叉树学习(C语言)

二叉树学习一、二叉树的前中后序递归遍历及应用(求树深度)#include<stdio.h>#inlcude<stdlib.h>typedef struct BiTNode{ int data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;//先序遍历void PreOrder(BiTree T){ if(T!=NULL){ visit(T);//访问根节点 PreOrder(T.lchild);//

2021-07-08 17:50:30 278

原创 算法练习贴--73--错误的集合(C语言)

错误的集合(C语言)一、题目描述集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。给定一个数组 nums 代表了集合 S 发生错误后的结果。请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。(题目来源:力扣(LeetCode))示例 1:输入:nums = [1,2,2,4]输出:[2,3]示例 2:输入:nums = [1,1]输出:[1,2]

2021-07-05 18:49:24 218

原创 408计算机考研--数据结构--队列学习(C语言)

队列学习(C语言)一、队列的顺序存储方式#include<stdio.h>#include<stdlib.h>#define MaxSize 10typedef struct SqQueue{ int data[MaxSize];//存储队列数据 int front,rear;//队头,队尾指针 }SqQueue; //初始化队列 void Init_SqQueue(SqQueue &Q){ Q.front=Q.rear=0;}//判队空boo

2021-07-03 16:14:37 194

原创 408计算机考研--数据结构--栈学习(C语言)

栈学习(C语言)一、栈的基本概念​ 栈(Stack)是只允许在一端进行插入或删除操作的线性表。首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作。栈顶(top):线性表允许进行插入和删除的那一端。栈底(Bottom):固定的,不允许进行插入和删除的另一端。空栈:不含任何元素的空表。二、栈的顺序存储结构#include<stdio.h>#include<stdlib.h> #define MaxSize 10 //定义栈中元素的最大个数typed

2021-07-02 22:23:05 675 2

原创 408计算机考研--数据结构--快慢指针学习(C语言指针)

快慢指针学习(C语言指针)一、判断环形链表1.1、题目描述给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。力扣(LeetCode)进阶:你能用 O(1)(

2021-07-02 18:04:15 699 2

原创 算法练习帖--72--重排链表(C语言)

重排链表一、题目描述给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。(题目来源:力扣(LeetCode))示例 1:给定链表 1->2->3->4, 重新排列为 1->4->2->3.示例 2:给定链表 1->2->3->4->5, 重新排列为 1->5->2->4->3

2021-07-02 17:06:19 458

原创 算法练习帖--71--反转链表(C语言)

反转链表一、题目描述定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。(题目来源:力扣官网)示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 限制:0 <= 节点个数 <= 5000二、解决方法1.头插法struct ListNode* reverseList(struct ListNode* head){ if(head==NULL|

2021-07-01 23:12:05 126 1

原创 408统考真题--线性表(2013年)

[2013统考真题]已知一个整数序列A=(a0,a1,···,an-1),其中0<=ai<n(0<=i<n)。若存在ap1=ap2=···=apm=x且m>n/2(0<=pk<n,1<=k<=m),则称x为A的主元素。例如A=(0,5,5,3,5,7,5,5),则5为主元素;又如A=(0,5,5,3,5,1,5,7),则A中没有主元素。假设A中的n个元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出A的主元素。若存在主元素,则输出该元素;否则输

2021-07-01 21:35:13 894

原创 算法练习贴--70--寻找两个正序数组的中位数(C语言)

寻找两个正序数组的中位数(C语言)一、题目描述给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。(题目来源:力扣(LeetCode))示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数

2021-06-30 23:38:40 953 2

原创 408计算机考研--数据结构--线性表学习(C语言)

线性表的学习1.线性表的顺序表示–顺序表1.1、顺序表的定义–静态分配#include <stdio.h>#define MaxSize 10 //定义最大长度 typedef struct{ int data[MaxSize];//用数组存储数据元素 int length;//顺序表的当前长度 }SeqList;//顺序表的类型定义 //基本操作--初始化一个顺序表void InitList(SeqList &L){ for(int i=0;i<Ma

2021-06-29 21:13:04 586

原创 算法练习帖--69--数据流中的第 K 大元素(java)

数据流中的第 K 大元素(java)一、题目简介设计一个找到数据流中第 k 大元素的类(class)。注意是排序后的第 k 大元素,不是第 k 个不同的元素。请实现 KthLargest 类:KthLargest(int k, int[] nums) 使用整数 k 和整数流 nums 初始化对象。int add(int val) 将 val 插入数据流 nums 后,返回当前数据流中第 k 大的元素。(题目来源:力扣(LeetCode))示例:输入:["KthLargest", "add"

2021-02-11 15:28:11 136 1

原创 弗洛伊德算法学习(Java)

弗洛伊德算法学习(Java)学习视频:尚硅谷韩老师java讲解数据结构和算法一、 弗洛伊德(Floyd)算法介绍和 Dijkstra 算法一样,弗洛伊德(Floyd)算法也是一种用于寻找给定的加权图中顶点间最短路径的算法。该算法 名称以创始人之一、1978 年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名弗洛伊德算法(Floyd)计算图中各个顶点之间的最短路径迪杰斯特拉算法用于计算图中某一个顶点到其他顶点的最短路径。弗洛伊德算法 VS 迪杰斯特拉算法:迪杰斯特拉算法通过选定的被访

2021-02-08 20:40:43 381 1

原创 算法练习帖--68--最长湍流子数组(Java)

最长湍流子数组一、题目简介当 A 的子数组 A[i], A[i+1], …, A[j] 满足下列条件时,我们称其为湍流子数组:若 i <= k < j,当 k 为奇数时, A[k] > A[k+1],且当 k 为偶数时,A[k] < A[k+1];或 若 i <= k < j,当 k 为偶数时,A[k] > A[k+1] ,且当 k 为奇数时, A[k] < A[k+1]。也就是说,如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是湍流子数

2021-02-08 14:40:52 148

原创 算法练习帖--67--可获得的最大点数(Java)

可获得的最大点数一、题目简介几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。(题目来源:力扣(LeetCode))示例 1:输入:cardPoints = [1,2,3,4,5,6,1], k = 3输出:12解释:第一次行动,不管拿哪张牌,你的点

2021-02-06 15:34:51 137

原创 算法练习帖--66--最小体力消耗路径(Java)

最小体力消耗路径(Java)一、题目简介你准备参加一场远足活动。给你一个二维 rows x columns 的地图 heights ,其中 heights[row][col] 表示格子 (row, col) 的高度。一开始你在最左上角的格子 (0, 0) ,且你希望去最右下角的格子 (rows-1, columns-1) (注意下标从 0 开始编号)。你每次可以往 上,下,左,右 四个方向之一移动,你想要找到耗费 体力 最小的一条路径。一条路径耗费的 体力值 是路径上相邻格子之间 高度差绝对值 的 最

2021-02-05 17:17:40 535 2

原创 迪杰斯特拉(Dijkstra)算法学习(Java)

迪杰斯特拉(Dijkstra)算法学习(Java)一、迪杰斯特拉(Dijkstra)算法介绍迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个结点到其他结点的最短路径。它的主要特点是以 起始点为中心向外层层扩展**(广度优先搜索思想)**,直到扩展到终点为止。二、迪杰斯特拉(Dijkstra)算法过程设置出发顶点为 v,顶点集合 V{v1,v2,vi…},v 到 V 中各顶点的距离构成距离集合 Dis,Dis{d1,d2,di…},Dis 集合记录着 v 到图中各顶点的距离(到自身

2021-02-05 15:01:46 321

原创 算法练习帖--65--尽可能使字符串相等(Java)

尽可能使字符串相等一、题目简介给你两个长度相同的字符串,s 和 t。将 s 中的第 i 个字符变到 t 中的第 i 个字符需要 |s[i] - t[i]| 的开销(开销可能为 0),也就是两个字符的 ASCII 码值的差的绝对值。用于变更字符串的最大预算是 maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的转化可能是不完全的。如果你可以将 s 的子字符串转化为它在 t 中对应的子字符串,则返回可以转化的最大长度。如果 s 中没有子字符串可以转化成 t 中对应的子字符串,

2021-02-05 10:54:31 138

原创 算法练习帖--64--交换字符串中的元素(Java)

交换字符串中的元素(Java)一、题目简介给你一个字符串 s,以及该字符串中的一些「索引对」数组 pairs,其中 pairs[i] = [a, b] 表示字符串中的两个索引(编号从 0 开始)。你可以 任意多次交换 在 pairs 中任意一对索引处的字符。返回在经过若干次交换后,s 可以变成的按字典序最小的字符串。(题目来源:力扣(LeetCode))示例 1:输入:s = "dcab", pairs = [[0,3],[1,2]]输出:"bacd"解释: 交换 s[0] 和 s[3]

2021-02-04 14:58:52 183

原创 克鲁斯卡尔算法学习(Java)

克鲁斯卡尔算法(Java)学习视频:尚硅谷韩老师java讲解数据结构和算法一、应用场景-公交站问题某城市新增 7 个站点(A, B, C, D, E, F, G) ,现在需要修路把 7 个站点连通各个站点的距离用边线表示(权) ,比如 A – B 距离 12 公里问:如何修路保证各个站点都能连通,并且总的修建公路总里程最短?二、克鲁斯卡尔算法介绍2.1、以城市公交站问题来图解说明 克鲁斯卡尔算法的原理和步骤:在含有 n 个顶点的连通图中选择 n-1 条边,构成一棵极小连通子图,并使该连

2021-02-03 20:31:40 411

原创 算法练习帖--63--冗余连接(Java)

冗余连接一、题目简介在本问题中, 树指的是一个连通且无环的无向图。输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, …, N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v] ,满足 u < v,表示连接顶点u 和v的无向图的边。返回一条可以删去的边,使得结果图是一个有着N个节点的树。如果有多个答案,则返回二维数组中最后出现的边。答案边 [u, v] 应满足相同的格式

2021-02-02 22:02:09 138

原创 算法练习帖--62--替换后的最长重复字符(Java)

替换后的最长重复字符一、题目简介给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。注意:字符串长度 和 k 不会超过 104。(题目来源:力扣(LeetCode))示例 1:输入:s = "ABAB", k = 2输出:4解释:用两个'A'替换为两个'B',反之亦然。示例 2:输入:s = "AABABBA", k = 1输出:4解释:将中间的一个'A'替换为'B',字符串变

2021-02-02 12:25:41 197 3

原创 算法练习帖--61--省份数量(Java)

省份数量一、题目描述有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。返回矩阵中 省份 的数量。(题目来源:力扣(

2021-02-01 21:36:14 407

原创 普里姆算法学习(Java)

普里姆算法学习(Java)学习视频:尚硅谷韩老师java讲解数据结构和算法一、应用场景-修路问题1.1、看一个应用场景和问题:有胜利乡有 7 个村庄(A, B, C, D, E, F, G) ,现在需要修路把 7 个村庄连通各个村庄的距离用边线表示(权) ,比如 A – B 距离 5 公里问:如何修路保证各个村庄都能连通,并且总的修建公路总里程最短?思路: 将 10 条边,连接即可,但是总的里程数不是最小.正确的思路:就是尽可能的选择少的路线,并且每条路线最小,保证总里程数最少二、最

2021-02-01 15:35:17 433 1

原创 算法练习帖--60--公平的糖果棒交换(Java)

公平的糖果棒交换一、题目描述爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 根糖果棒的大小,B[j] 是鲍勃拥有的第 j 根糖果棒的大小。因为他们是朋友,所以他们想交换一根糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。)返回一个整数数组 ans,其中 ans[0] 是爱丽丝必须交换的糖果棒的大小,ans[1] 是 Bob 必须交换的糖果棒的大小。如果有多个答案,你可以返回其中任何一个。保证答案存在。(题目来源:力扣(LeetCod

2021-02-01 10:56:17 134

原创 算法练习帖--59--相似字符串组(Java)

相似字符串组一、题目简介如果交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等,那么称 X 和 Y 两个字符串相似。如果这两个字符串本身是相等的,那它们也是相似的。例如,“tars” 和 “rats” 是相似的 (交换 0 与 2 的位置); “rats” 和 “arts” 也是相似的,但是 “star” 不与 “tars”,“rats”,或 “arts” 相似。总之,它们通过相似性形成了两个关联组:{“tars”, “rats”, “arts”} 和 {“star”}。注意,“tar

2021-01-31 20:32:20 232

原创 贪心算法--集合覆盖问题(Java)

贪心算法–集合覆盖问题(Java)学习视频:尚硅谷韩老师java讲解数据结构和算法一、贪心算法介绍1.贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而 希望能够导致结果是最好或者最优的算法2.贪婪算法所得到的结果不一定是最优的结果(有时候会是最优解),但是都是相对近似(接近)最优解的结果二、贪心算法最佳应用-集合覆盖2.1、题目描述假设存在如下表的需要付费的广播台,以及广播台信号可以覆盖的地区。 如何选择最少的广播台,让所有 的地区都可以接收

2021-01-30 20:21:32 583

原创 KMP算法学习(Java、C语言)

KMP算法学习(Java)学习视频:尚硅谷韩老师Java讲解数据结构与算法学习资料:很详尽KMP算法(厉害)一、代码实现1:最大长度表package com.lxf.kmp;public class KMP { public static void main(String[] args) { String str1="BBC ABCDAB ABCDABCDABDE"; String str2="ABCDABD"; System.out.p

2021-01-30 17:25:09 90

原创 动态规划的四个最佳实践--Leecode的四个股票题(Java)

动态规划的四个最佳实践–Leecode的四个股票题(Java)一、 买卖股票的最佳时机(不是动规,作为引入)1.1、题目简介给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。(题目来源:力扣(LeetCode))示例 1:输入:[7,1,5,3,6

2021-01-30 11:55:43 241

原创 动态规划算法--0/1背包问题求解(Java)

动态规划算法–0/1背包问题求解(Java)学习视频:尚硅谷韩老师Java讲解数据结构与算法一、动态规划算法介绍动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解 的处理算法动态规划算法与分治算法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这 些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。 ( 即下一个子 阶段的求解是建立在上一个子阶段

2021-01-28 12:46:22 902

原创 算法练习帖--58--寻找数组的中心索引(Java)

寻找数组的中心索引一、题目描述给定一个整数类型的数组 nums,请编写一个能够返回数组 “中心索引” 的方法。我们是这样定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。(题目来源:力扣(LeetCode))示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出:3解释:索引 3 (nums[3] = 6) 的左侧数之和 (1 +

2021-01-28 10:54:13 228

原创 算法练习帖--57--保证图可完全遍历(Java)

保证图可完全遍历(并查集)一、题目简介Alice 和 Bob 共有一个无向图,其中包含 n 个节点和 3 种类型的边:类型 1:只能由 Alice 遍历。类型 2:只能由 Bob 遍历。类型 3:Alice 和 Bob 都可以遍历。给你一个数组 edges ,其中 edges[i] = [typei, ui, vi] 表示节点 ui 和 vi 之间存在类型为 typei 的双向边。请你在保证图仍能够被 Alice和 Bob 完全遍历的前提下,找出可以删除的最大边数。如果从任何节点开始,Alic

2021-01-27 19:53:25 138 2

HuGongTrain123456_files.zip

仿12306页面(相似度98%),文件名、Logo、网站图标都换了,大部分小图标也换了,除首页为动态界面外,其它都为静态页面,下载后只能用于学习,请勿商用!!!

2020-05-01

空空如也

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

TA关注的人

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