- 博客(33)
- 收藏
- 关注
原创 Java编程题——【牛客】重排链表
重排链表输入: {1,2,3,4}输出:{1,4,2,3}方法一:将链表存储在ArrayList中, 然后利用双指针,一个从前,一个从后对链表进行重排.代码实现:// 重排序 public void reorderList(ListNode head){ if (head == null){ return; } List<ListNode> list = new ArrayList<
2021-07-28 11:30:31
327
原创 网络原理——TCP/IP协议
网络原理——TCP/IP协议TCP/IP协议UDP协议TCP协议TCP:TCP原理/机制总结TCP/IP协议UDP协议UDP协议端格式:DUP特点:无连接: 知道对端的IP和端口号就直接进行传输,不需要建立连接;不可靠: 没有确定机制,没有重传机制,如果因为网络故障该段无法发送到对方,UDP协议层也不会给应用层返回任何错误信息;面向数据报: 不能够灵活的控制读写数据的次数和数量( 只能一次发送,一次接受 );面向数据报: 应用层交给UDP多长的报文,UDP原样发送,既不会拆分,也
2021-05-29 17:36:22
680
原创 数据结构——排序
排序目录排序冒泡排序:插入排序:希尔排序:选择排序:==快速排序==:==归并排序==:堆排序:冒泡排序:在无序区间,通过相邻的数比较,将最大的数冒泡到无序区间的最后,重复前面的步骤,直到所有元素都已排序完。public class MySort { // 冒泡排序: public static void bubbleSort(int[] arr){ int bound = 0; for (;bound < arr.length; ++bound
2021-03-29 10:15:26
154
原创 数据结构——栈和队列
栈栈:是一种特殊的线性表,遵守**后进先出LIFO(Last In First Out)**原则。表的尾端称为栈顶,表头端称为栈底。示例:入栈:1,2,3,4,5,6…生活中的栈的例子:1.垒砖,砖块总是放置在已经垒好的砖块上面;2.洗盘子,洗好的盘子总是逐个往上叠放在已经洗好的盘子上…实现(1) 顺序表实现:使用尾插操作表示 “入栈 ”;使用尾删操作表示 “出栈 ”;使用根据下标去元素的操作表示 “取栈顶元素 ”。// 使用顺序表实现:public c
2021-03-11 09:19:38
1377
原创 Java编程题——计算质数个数
题目要求:统计所有小于非负整数 n 的质数的个数质数:除了 1 和 它本身外不被其他整数整除(1不是质数)有关于质数的题目我们在生活中很常见,而大多数首先想到的是暴力法解题代码示例:方法一:class Solution{ public int countPrimes(int n) { int count = 0; for(int i = 0; i < n; i++){ if(isPrime(i)){ .
2021-02-11 15:48:59
2666
2
原创 数据结构——链表(插入&删除)
链表与顺序表相比链表最大的区别是其元素不是在连续的内存空间上。用Node类来表示:public class Node { public int val; // 元素 public Node next; // 指向下一结点的位置 public Node(int val){ this.val = val; }}下面我们先来建立一条链表:public class Main { public static Node createList
2021-02-03 18:37:00
841
1
原创 Java编程题——简单实现List操作
实现一些List的基本操作:package List;public class Node { public int val; public Node next; public Node(int val) { this.val = val; } @Override public String toString() { return " " + this.val; }}package List;publi
2021-02-02 15:35:09
262
原创 Java编程题——模拟实现ArrayList
模拟实现一个自己的ArrayList。代码示例:public class MyArrayList { //属性 private String[] data = null; private int size = 0; // 有效元素个数 private int capacity = 100; // 最大容纳元素个数 public MyArrayList(){ data = new String[capacity]; } // 扩
2021-02-01 14:56:20
250
原创 Java版简易房屋购买系统
用 Java 编写一个简单的 房屋买卖系统,并实现增加、删除、浏览、购买、退订功能。首先创建项目:下面依次实现各类的功能:// 存放房屋信息package system;public class House { private String address; // 门牌号 private double area; // 面积 private String type; // 户型 private boolean state = false; // 状态:售出
2021-01-27 18:17:03
1383
1
原创 Java编程题——长按键入
题目:925.长按键入你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True在编写代码之前,先要明白这里的长按字符情况可能出现哪几种:第 1 种:(无新字符出现,a、c被长按)name = “abcd”typed = “aabccd”这是首先会想到的情况第 2 种( name 中带有重复字符 e.
2021-01-21 17:11:29
143
原创 Java笔记——面向对象编程(继承&组合)
面向对象编程——继承继承定义:目的:代码重用、类重用 (吧多个类之间的共同的代码提取出来,放到父类中)概念:父类/基类/超类 ; 子类/派生类(继承父类的类)关键字:extends (扩展)语法代码示例://父类public class Animal { public String name; public void eat(String food){ System.out.println(name + "正在吃" + food); }
2021-01-20 20:51:40
123
原创 Java编程题——合并有序数组
题目:给定两个有序整数数组nums1 和 nums2, nums2 合并到 nums1 中, 使得 nums1 成为一个有序数组。刚拿到题时,首先想到的是从前向后依次比较大小,逐个将nums2中的数值加入到nums1中,但实际写起来发现非常麻烦,每进行一次插入数值后都要把nums1中的所有大于nums2中某数值的数往后移动一位。因此,采用从后向前的方式将nums2中数值插入。由于两组都是有序数组,所以只需要依次比较两个数组“最后一位”的大小关系,放置完后向前移动一位。文字有点繁琐,下面画图来大概.
2021-01-20 17:03:30
292
原创 Java编程题——返回单词长度
题目 ( 1 ):给定一个仅包含大小写字母和空格’ '的字符,返回其最后一个单词的长度,如果不存在最后一个单词,请返回零package Homework;public class test04 { public static void main(String[] args) { String str1 = "I like swimming"; String str2 = "I have an apple "; System.out.pri.
2021-01-20 15:21:58
305
原创 Java编程题——实现split、compareTo、contains、indexOf、replace
split( )public class mySplit { public static void main(String[] args) { String str = "1,2,3,4,5,6,7,8"; mySplitFunc(str); } static void mySplitFunc(String str){ for (int i = 0; i < str.length(); i++){ ch
2021-01-19 19:45:36
97
原创 Java笔记——String类
StringString的创建//方法一String str1 = "hello";//方法二String str2 = new String("hello");//方法三char[] arr = {'a','b','c'};String str3 = new String(arr);字符串比较a. 比较相等.equal==String 使用 == 比较的不是两个字符串的内容,而是比较两个引用是否是指向同一个对象;b. 比较大小按照字典序判断大小:先
2021-01-19 19:35:48
89
原创 Java编程题——大写小写字母转化
题目:将字符串中的大写字母转化成小写字母之后返回新得字符串public class test04 { public static void main(String[] args) { String str = "shuYTgsUHjskY"; Solution sl = new Solution(); System.out.println(sl.toLowerCase(str)); } //方法1 static cla.
2021-01-18 17:52:59
557
原创 Java笔记——类和对象
类和对象类的定义class Student{ public String sno; //成员属性 public String name; public String sex; public void learn() { //成员方法 System.out.println("学习"); } public void sleep() { System.out.println("睡觉"); }}class为定义类的关键字;Student 为类名;{ … } 中为类的
2021-01-18 17:42:56
171
原创 C语言笔记——字符串函数
字符串函数模拟实现memmovechar *memmove(char *strDestination,const char *strSource,size_t count); 模拟实现memcpychar *memcpy(char *strDestination,const char *strSource,size_t count); 模拟实现strstrchar *strstr(char *strDestination,const char *strSource); 模拟实现strca
2021-01-17 14:59:21
118
原创 Java编程题——简易二分查找
题目:编写代码简单实现二分查找算法代码示例:import java.util.Scanner;public class Test01 { public static void main(String[] args) { //二分查找 前提:数组有序 int[] arr = { 2,3,6,7,9,10,12,43,78}; Scanner scanner = new Scanner(System.in); int toS
2020-12-20 10:45:01
255
2
原创 Java编程题——简单下拉框二级联动
题目要求:用下拉框实现两级联动,第一个为省份,第二个为城市名代码实现:import javax.swing.*;import java.awt.event.*;public class ItemTest extends JFrame implements ItemListener{ JComboBox province; //一级选项,存放省份 JComboBox city; //二级选项,存放城市名 public ItemTest(){ JLabel label
2020-12-19 23:45:51
3744
2
原创 Java编程题——模拟输入密码
题目:Java模拟登陆题目要求:编写代码模拟三次输入密码场景。密码输入正确则提示“登陆成功”,若密码输入错误则可以继续输入,三次输入后仍失败,则退出程序。代码示例:import java.util.Scanner;//模拟实现输入密码,若错误三次则直接退出public class inPutPassword { //输入密码判断 public static boolean inputPassword(String password){ int count = 0
2020-12-16 11:25:08
2427
2
原创 Java编程题——猜数字游戏
猜数字游戏完成猜数字游戏需要实现以下几点:获得一个随机数作为“答案数”;输入数字,与“答案数”作比较(判断大了,小了,相等);循环输入所猜的数字,直到与“答案数”相等时游戏结束;代码实现:import java.util.Random;import java.util.Scanner;public class guessNum { public static int getRanNum(){ //获得一个随机数 Random random = ne
2020-12-14 23:02:41
714
原创 Java编程题——打印“ X ”图形
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。输入描述:多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。输出描述:针对每行输入,输出用“*”组成的X形图案。第一遍写的时候没注意奇数行和偶数行图形规律上有一些区别,导致改了好久,最后只能把奇数偶数分成俩个方法写了,看起来有些冗杂,下来再看看还有没有更简洁的写法吧…import java.util.Scanner;public class pr
2020-12-14 22:15:19
1510
原创 Java知识点——变量、数据类型、运算符
Java(二)变量定义和使用int a; //定义a = 8; //赋值int b = 10; //定义+初始化System.out.println(b); //使用变量需先定义,被赋值或者初始化,才能被使用;数据类型整型简单示例:int n = 10;System.out.println(n);在Java中,一个int变量占4个字节(与操作系统无关);4个字节表示的数据范围为:== -2^31 ~~ 2^31-1==,大约-21亿
2020-12-13 16:50:14
106
原创 C语言笔记——自定义类型
自定义类型typedef类型说明一般形式:typedef 类型说明符 标识符;例如:typedef int INTERGER;typedef与define宏的定义有相似之处,但实际上有明显不同:typedef在编译阶段有效,而define宏的定义是预处理,发生在编译之前;typedef用来定义类型的别名,不只包含基本的数据类型,还包括自定义(如struct),课便于记忆且有一定的作用域;而define没有作用域的限制,只要是之前预定义过的宏,在以后的程序中都可以使用;typedef
2020-11-26 23:38:11
194
原创 C语言编程题——猜凶手
C语言——猜凶手题目内容:日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。 以下为4个嫌疑犯的供词:A说:不是我。B说:是C。C说:是D。D说:C在胡说 已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。将上述的实际问题转化,其实就是求满足以上三个情况,不满足一个情况就可以,因此,可以设置一个变量,每满足一个要求变量++,只有当变量为3时才满足题目所给要求,也就是唯一凶手。代码如下:#include <stdio.h
2020-11-23 23:11:06
717
2
原创 C语言编程题——杨辉三角
杨辉三角——C语言实现杨辉三角:11 11 2 11 3 3 11 4 6 4 1…由上述举例可知每行第一位数和最后一位数都为1;其余的数为正上方和左边数之和;因此,根据已知规律,可以写出如下解决方案:#include <stdio.h>//杨辉三角int main(){ int n; printf("请输入要打印的行数:"); scanf("%d",&n); int a[100][100]; for(int i=0;i<n;i++)
2020-11-23 22:13:42
57301
19
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人