- 博客(20)
- 收藏
- 关注
原创 牛客:计算糖果(Java)
目录题名:计算糖果题目描述:输入描述:输出描述:示例:解题思路:代码:原题链接:[计算糖果](https://www.nowcoder.com/questionTerminal/02d8d42b197646a5bbd0a98785bb3a34)题名:计算糖果题目描述:A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息: A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数.现在需要通过这
2022-05-25 00:10:28
400
原创 组队竞赛(牛客)
题名:组队竞赛题目描述:牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。例如: 一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3 一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是1,5,2.那么队伍的水平值是2 为了让比赛更有看点,牛牛想安排队伍使所有队伍的水平值总和最大。 如样例所示:如果牛牛把6
2022-05-17 11:00:00
385
原创 排序子序列(牛客)
题名:排序子序列题目描述:牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他最少可以把这个数组分为几段排序子序列.如样例所示,牛牛可以把数组A划分为[1,2,3]和[2,2,1]两个排序子序列,至少需要划分为2个排序子序列,所以输出2输入描述:输入的第一行为一个正整数n(1 ≤ n ≤ 10^5)第二行包括n个整数A_i(1 ≤ A_i ≤ 10^9),表示数组
2022-05-16 16:00:30
220
原创 输出链表中倒数第k个节点
输入一个链表,输出该链表倒数第k个节点。思路详情:使用快慢指针法,定义一个fast和一个slow。输出倒数第k个节点,那就让fast比slow先走k-1步,然后两个一起走,当fast的下一个节点为空的时候,fast就遍历完链表了,slow停下的位置,便是需要的倒数第k个节点了。图解:在写代码之前,我们需要考虑一下这个K值合法吗?如果k值小于0,k值超过数组长度,那么这个时候k值就不合法了,这个时候我们就需要抛出异常或者返回null。如何获取链表的长度,在前面实现一个简单的单向链表里说到过
2022-04-25 23:21:11
1520
原创 反转一个单链表(Java)
看到反转链表,可能第一时间的想法便是遍历一遍这个单链表,然后把链表里的元素都取出来,放到一个数组里,然后逆置这个数组。这个想法是错的!!!那么正确的做法是什么呢?让我们一起来了解一下!
2022-04-22 23:21:42
4419
1
原创 StringBuilder和StringBuffer的区别
由于String的不可更改特性,为了方便字符串的修改,java中又提供了StringBulider类和StringBuffer类。
2022-04-17 23:55:39
460
原创 ArrayList与LinkedList
ArrayListLinkedListLinkedList的底层是双向链表结构(链表后面介绍),由于链表没有将元素存储在连续的空间中,元素存储在单独的节点中,然后通过引用将节点连接起来了,因此在在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。ArrayList的缺陷ArrayList底层是使用数组来存储元素的,由于其底层是一段连续空间,当在ArrayList任意位置插入或者删除
2022-04-16 16:49:46
781
原创 实现一个简单的单向链表(Java代码)
链表是什么?链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。 链表分为单向链表和双向链表。我们先来了解一下单向链表,它有一些什么操作呢?下面让我们一起来看一看:
2022-04-13 21:29:32
1250
原创 实现一个简单的顺序表(Java代码)
在本篇文章,主要写一些关于顺序表的简单操作。在介绍顺序表的简单操作前,先来了解一下什么是顺序表?顺序表的简单操作又有那些呢?增删改除算不算呢?下面让我们一起来了解一下吧!
2022-04-10 18:04:23
3791
原创 【Java】javaSE的基础知识概括(完)
十、String类1.认识Sring类2.常用方法(字符串查找、字符串修改、字符串分割)十一、认识异常1.什么是异常2.异常的捕获(异常声明throws、try-catch捕获并处理)
2022-04-09 11:47:56
1474
原创 【Java】javaSE的基础知识概括(三)
七、类和对象1.类2.对象的创建和使用3.构造方法4.封装八、继承和多态1.继承2.多态九、抽象类和接口1.抽象类2.接口
2022-04-08 14:00:00
360
原创 【Java】javaSE的基础知识概括(一)
一、初识Java1.java是如何运行起来的?·使用记事本或者IDEA(集成开发环境)编写Java源程序·使用javac.exe编译器编译Java源程序,生成xxx.class的字节码文件 语法格式:javac xxx.java·使用java运行xxx.class字节码文件 语法格式:java xxx.java注意:在运行Java程序前,必须安装好JDK(Java Development Kit即Java开发工具包),JDK里面包含了javac和java工具,Java程序最终...
2022-04-06 15:17:22
540
原创 【Java】Iterable、Collection、List 的常见方法签名以及含义
1.首先谈谈什么是方法签名?在同一个作用域中不能定义两个相同名称的标识符。比如:方法中不能定义两个名字一样的变量,那为什么类中就可以定义方法名相同的方法呢?方法签名即:经过编译器修改过之后方法最终的名字。具体方法:方法全路径名+参数列表+返回值类型,构成方法完整的名字。2.Iterable 常见方法:Iterator<T> iterator() 返回 T类型的元素的迭代器。Iterable是一种设计模式,开发人员无需了解序列的...
2022-04-05 16:42:09
893
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅