自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 数字在升序数组中出现的次数

给定一个长度为 n 的非降序数组和一个非负数整数 k ,要求统计 k 在数组中出现的次数当出现数小于数组中的数时,返回结果。date[i]为整数k出现的次数暴力破解class Solution {public: int GetNumberOfK(vector<int> date ,int k) { int times; for(int i=0;i<date.size();i++) { if(

2022-01-26 21:44:06 124

原创 包含min函数的栈

1 描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 min 函数,输入操作时保证 pop、top 和 min 函数操作时,栈中一定有元素。此栈包含的方法有:push(value):将value压入栈中pop():弹出栈顶元素top():获取栈顶元素min():获取栈中最小元素数据范围:操作数量满足 0≤n≤3000 \le n \le 300 \ 0≤n≤300 ,输入的元素满足 ∣val∣≤10000|val| \le 10000 \ ∣va...

2022-01-26 20:46:49 94

原创 判断对称二叉树

递归从根结点(结点)0开始,判断其左右子树是否对称,即判断「结点1所在子树」和「结点2所在子树」是否对称; 为比较这两个子树的对称情况,需要分别比较各自的左右孩子的对称情况,即:比较「结点3所在子树」和「结点4所在子树」是否对称,同时也需要比较「结点5所在子树」和「结点6所在子树」是否对称; 依次类推,直至遍历到叶子结点。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *righ

2022-01-25 21:12:43 170

原创 判断平衡二叉树

自顶向下一棵二叉树为「平衡二叉树」的条件为:该树为空树,或者其左右子树的高度差最大为1。因此,判断一棵二叉树是否平衡需要求其子树高度,并比较左右子树高度差。因此此题的解题步骤如下:设计「求二叉树高度」的函数getHeight(root),作用是求以root为根结点的二叉树高度; 遍历原二叉树,对其每个结点调用getHeight(root)函数,若存在某左右子树的高度差大于等于2,则是不平衡的;否则是平衡二叉树。求取二叉树高度的思路如图所示。class Solution {public

2022-01-25 20:48:14 488

原创 C ++双栈实现队列

设置两个栈,一个用来入队,一个用来出队列。入队列:直接将元素stack1即可出队列:如果stack2 不为空,则直接pop,否则先将stack1的元素全部弹出,然后全部压入stack2,然后将stack2的元素全部弹出。class Solution{public://入队列 void push(int node) { stack1.push(node); }//出队列 int pop() { int result{-1};//

2022-01-25 00:01:16 580

原创 斐波那契数列

方法1:递归时间复杂度高class Solution {public: int Fibonacci(int n) { if(n<=2) return 1; else return Fibonacci(n-1)+Fibonacci(n-2); }};时间复杂度:O(2^n) 空间复杂度:递归栈的空间方法1:动态规划class Solution {public: int dp[50]{0};

2022-01-22 22:30:13 252

原创 二叉树的深度

描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度,根节点的深度视为 1 。数据范围:节点的数量满足 0≤n≤1000 \le n \le 1000≤n≤100 ,节点上的值满足 0≤val≤1000 \le val \le 1000≤val≤100进阶:空间复杂度 O(1)O(1)O(1) ,时间复杂度 O(n)O(n)O(n)假如输入的用例为{1,2,3,4,5,#,6,#,#,7},那么如下图:.

2022-01-16 22:37:07 63

原创 删除链表的节点

描述给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。1.此题对比原题有改动2.题目保证链表中节点的值互不相同3.该题只会输出返回的链表和结果做对比,所以若使用 C 或 C++ 语言,你不需要 free 或 delete 被删除的节点数据范围:0<=链表节点值<=100000<=链表长度<=10000示例1输入:{2,5,1,9},5返回值:{2,1,9}说明:给定你链表中

2022-01-16 22:21:26 102

原创 链表中倒数最后k个结点

描述输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。如果该链表长度小于k,请返回一个长度为 0 的链表。数据范围:0≤n≤1050 \leq n \leq 10^50≤n≤105,0≤ai≤1090 \leq a_i \leq 10^90≤ai​≤109,0≤k≤1090 \leq k \leq 10^90≤k≤109要求:空间复杂度 O(n)O(n)O(n),时间复杂度 O(n)O(n)O(n)进阶:空间复杂度 O(1)O(1)O(1),时

2022-01-15 22:17:18 160

原创 链表中环的入口结点

描述给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。数据范围: n≤10000n\le10000n≤10000,1<=结点值<=100001<=结点值<=100001<=结点值<=10000要求:空间复杂度 O(1)O(1)O(1),时间复杂度 O(n)O(n)O(n)例如,输入{1,2},{3,4,5}时,对应的环形链表如下图所示:可以看到环的入口结点的结点值为3,所以返回结点值为3的结点。输入描述:

2022-01-15 20:37:06 96

原创 两个链表的第一个公共结点

描述输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)数据范围: n≤1000n \le 1000n≤1000要求:空间复杂度 O(1)O(1)O(1),时间复杂度 O(n)O(n)O(n)例如,输入{1,2,3},{4,5},{6,7}时,两个无环的单向链表的结构如下图所示:可以看到它们的第一个公共结点的结点值为6,所以返回结点值为6的结点。输入描述:.

2022-01-13 22:45:15 117

原创 合并两个排序的链表

描述输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。数据范围: 0≤n≤10000 \le n \le 10000≤n≤1000,−1000≤节点值≤1000-1000 \le 节点值 \le 1000−1000≤节点值≤1000要求:空间复杂度 O(1)O(1)O(1),时间复杂度 O(n)O(n)O(n)如输入{1,3,5},{2,4,6}时,合并后的链表为{1,2,3,4,5,6},所以对应的输出为{1,2,3,4,5,6},转换过程如下图所

2022-01-13 00:44:39 213

原创 202104-1

#include<stdio.h>int main(){ int n,m,L,i,j,temp; scanf("%d %d %d ",&n,&m,&L);//n行数m列数l数值范围 int s[L]; for(i=0;i<L;i++) s[i]=0;//灰度值全部初始化为0 for(i=0;i<m;i++){ for(j=0;j<n;j++){ scanf("%d",&temp); s[temp]...

2021-09-19 10:15:51 50

原创 2021-06-19

#include<stdio.h>int main(){ int n,i;//整数个数 int max,min,mid; scanf("%d",&n); int s[n];//存储整数 for(i=0;i<n;i++) { scanf("%d",&s[i]); } s[0]>s[n-1]?(max=s[0],min=s[n-1]):(max=s[n-1],min=s[0]); if(n%2!=0) printf("%d %d ...

2021-09-19 00:48:09 40

原创 201909-1小明种苹果

代码#include<stdio.h>int main(){ int N,M;//N树的总个数,M疏果操作次数 int all=0,id=0,max=-1;//all剩余苹果个数,id蔬果最多的树的编号,max该编号蔬果个数 int t,now;//t蔬果个数,当前这棵树蔬果个数 int i,j;//i记录树的个数,j记录操作次数 scanf("%d%d",&N,&M); for(i=0;i<N;i++) { scanf("%d",..

2021-09-18 20:52:32 50

原创 2020-06-1

题目:给出一系列的A,B型的点,然后给出几条直线,判断哪些可以完美分离这两类点。代码:

2021-09-18 10:31:47 49

原创 201912-1报数

代码#include<stdio.h>int main(){ int i;//提前定义,循环里面不能定义 int n;//总共报了多少数 scanf("%d",&n); int p[4]={0};//记录跳过的次数 int m=0;//i表示报的数字 ,m记录报的次数 for(i=1;m<n;i++) { if(i%7==0)//是7的倍数,跳过次数+1 p[i%4]++; else if(i%10==7) //不是7的倍数,...

2021-09-18 10:28:01 46

原创 2021-09-16

计算距离检测地点最近的点,距离相同的点序号小的最近代码如下:#include <stdio.h>#include <math.h>//距离计算double D(double a,double b,double m,double n) { double D; double Dx2 = pow((a-m),2.0); double Dy2 = pow((b-n),2.0); D = sqrt (Dx2 + Dy2); return (D);}int .

2021-09-16 23:50:32 50

原创 202012-1 安全系数计算

题目描述首先,顿顿选取了如“课堂表现”、“自习时长”、“作业得分”、“社团活动参与度”等 n 项指标作为预测的依据。然后,顿顿根据自己平日里对小菜的暗中观察,以百分制给每一项指标打分,即小菜同学第 i(1≤i≤n)项指标的得分 scorei 是一个 [0,100] 范围内的整数。鉴于每一项指标的重要性不尽相同,顿顿用一个 [−10,10] 范围内的整数 wi 来表示第 i(1≤i≤n)项指标的重要程度。最后,小菜同学期末的安全指数 y 定义如下:y=ReLU(∑i=1nscorei⋅wi)

2021-09-13 23:57:16 491

空空如也

空空如也

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

TA关注的人

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