- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 力扣19 删除链表的倒数第 N 个结点
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。输入:head = [1,2,3,4,5], n = 2。输入:head = [1,2], n = 1。输入:head = [1], n = 1。输出:[1,2,3,5]链表中结点的数目为 sz。
2024-01-14 00:46:25
400
1
原创 第k个数
分析:此题可以用排序算法做,但考虑到最好的排序算法是快排,其时间复杂度O(NlogN)。又题目要求的是第k小的数。将整个数组排序会带来额外的时间花费。考虑用快速选择算法:如图,对数组进行一趟快速排序后,情形如下,其中pivot是第一趟排序的主元:此时知道,pivot左边的数全部小于等于pivot的值,右边大于等于pivot值,即pivot左边的所有数均小于等于pivot右边的的所有数。若第k小的数的下标小于pivot左边的元素个数,则整证明第k小的数位于pivot的左边。此时只需对左边进行递归排序即.
2021-03-01 23:20:57
188
原创 PTA 6-7 统计某类完全平方数 (20分)
6-7 统计某类完全平方数 (20分)题目描述:本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。函数接口定义:int IsTheNumber ( const int N);其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。#include <stdio.h>#include <math.h> int IsTheNumber ( const int N ); int main()
2020-07-19 22:35:17
4020
7
原创 C/Cpp指针专题——多级指针
引言:在学习C/Cpp指针部分的时候,有许多地方是比较容易让人懵逼的,今天我们来讨论多级指针的话题在进入今天的话题前,我们先来思考几个问题:如何定义一个指针来保存另一个变量的地址?答案很明显对应变量的数据类型 * 指针变量名 =&变量名(即在需要指向的变量类型基础上加个)*例如: int a=10;int p=&a;//定义一个int类型的指针p指向a ;其中,号表示这是...
2020-04-12 10:16:59
327
原创 用java、cpp两种语言实现顺序循环队列
引言:队列是一种受限线性表,在计算机世界中广泛应用,他的特性是先进先出(FIFO),即和现实世界中的排队一样,符合先到先处理的原则,比如我们要用计算机和打印机打印文件时,计算机的数据处理能力显然比打印机快的多得多,为了避免计算机一下子把所有的数据都输出给打印机,造成打印机崩溃。我们需要有个缓冲区,先处理首先进来的数据,先打印出来,当这部分数据处理完后,让后续数据继续进入打印机,做到先来先打印。而队...
2020-04-11 08:36:29
264
原创 C/C++从自增运算符重载看“a++++”非法操作
引言:在学习C/C++自增自减(本文以自增运算符为例)运算符的时候,都知道有前置和后置两种写法,假设a是一个整形变量。我们都知道,以下写法是正确的:+++a;而以下写法:a+++却是错误的,然而很多教科书并未给出底层原理,今天我们就从运算符的重载入手剖析后置递增运算符为什么不可以用a+++这种写法。现在,假设我们有一个MyInteger类,意为我们自己定义的整形类:class MyIntege...
2020-04-10 13:05:55
705
原创 C++中的内存分区模型
一、概述在C++程序中,一般会将程序的内容按类型分别储存在四个区域内。这四个区域分别是:全局数据区、代码区、堆区和栈区.各区域储存的数据类型和特点:全局数据区:由操作系统进行管理,用于存放全局变量、全局常量、字符串常量以及静态变量。代码区:由操作系统进行管理,用于存放各种函数体的二进制代码。栈区:由编译器负责分配和清理,用于存放函数体内部的局部变量和函数的参数。堆区:由程序员负责分配和...
2020-04-10 12:56:24
205
原创 java练习/*从控制台输入一个字母字符串,转换其大小写后输出*/
package Day02;/*控制台输入一个字符串,转换其大小后输出*/import java.util.Scanner;public class ChangeCase { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String string...
2020-03-08 22:02:23
3651
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人