- 博客(28)
- 收藏
- 关注
原创 LeetCode - 移除链表元素
1、题目描述删除链表中等于给定值val的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6 ;输出: 1->2->3->4->52、思路找到要删除节点的前一个节点,然后进行删除方法1:链表原地删除节点,需特殊考虑头节点方法2:创建虚拟头节点,不需要考虑头节点方法3:递归3、...
2019-10-28 11:13:06
179
原创 Java面向对象
面向对象三大特征封装:将客观事物封装成抽象的类,每个类都有自己的属性与方法,并且类可以让自己的数据和方法只让可信的类或对象操作,对不可信的类进行信息隐藏,只向外界提供最简单的编程接口。简而言之,即内部操作对外部而言不可见继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类为父类,得到继承信息的类为子类。继承可以使用现有类的所有功能,并且在无需重新编写原有代码的情况下进行功能上的...
2019-10-28 11:04:28
162
原创 LeetCode - 回文数
1、题目描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121 - 输出: true;输入: -121 - 输出: false(从左向右读为-121,从右向左读为121-,因此它不是一个回文数)2、思路将整数转为字符串,利用左右指针来判断3、代码class Solution { public boole...
2019-10-27 22:47:59
169
原创 LeetCode - 整数反转
1、题目描述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例:输入: 123 - 输出: 321;输入: -123 - 输出: -321;输入: 120 -输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231,231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。2、思路使用数学逻辑方法...
2019-10-27 22:38:41
151
原创 LeetCode - 罗马数字转整数
1、题目描述罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V...
2019-10-27 22:34:52
121
原创 买苹果的最小袋数
一、题目描述小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供10个每袋和14个每袋的包装(包装不可拆分)。可是小易现在只想恰好买n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买要求:I.输入值n为整数,且1<=n<=200II.输出值为整数表示最少购买的袋数,如不会购买,则输出-1举例:输入值35,输出值为-1;输入值为34...
2019-10-27 15:50:46
229
原创 数据库索引(MySQL)
1、什么是索引索引(index)是帮助MySQL高效获取数据的排好序的数据结构,存储在磁盘文件里2、建立索引的目的提高数据库性能,提高海量数据的检索速度3、在MySQL数据库管理系统中,对表中记录进行检索的时候,通常包括两种检索方式:第一种:全表扫描第二种:通过索引进行检索(提高查询效率)4、索引结构主键自动添加索引,所以能够通过主键查询尽量通过主键查询,数据较高...
2019-10-24 15:58:56
145
原创 数据库事务(MySQL)
1、什么是事务* 事务(transaction)是一个最小的不可再分的工作单元* 通常一个事务对应了一个完整的业务* 而一个完整的业务,需要批量的DML语句(insert、update、delete)共同联合完成* 事务只和DML语句有关系,即DML语句才有事务典型实例:银行账户转账业务银行账户转账业务,该业务就是一个最小的工作单元,不可再分,即该业务是一个事务...
2019-10-24 10:03:29
167
原创 TCP/UDP协议详解
TCP/UDP都属于传输层协议一、UDP - 用户数据报协议1、UDP协议段格式16位UDP长度:整个数据报(UDP首部+UDP数据)的最大长度,一个UDP完整数据报总长度不大于64k16位数据报长度限制了一个UDP协议要发送的数据最大长度不能大于64k-8;一旦超过,则发送失败。因此,若数据长度大于64k-8,则需要用户在应用层进行分包操作UDP不保证数据有序到达,需要...
2019-10-20 23:27:59
319
原创 进制转换
题目描述:十进制转换为其他进制public class Main { public static void main(String[] args) { System.out.println(transform(10,3)); } public static String transform(int n,int radix){ Strin...
2019-10-18 00:12:24
118
原创 两数之和
题型11、题目描述给定一个整型数组(正数),找出(x,y)使得 x+y = k,打印(x,y)2、思路使用两个指针begin、end第一步:对数组进行升序排序;第二步:begin指针指向数组第一个元素,end指针指向数组的最后一个元素;第三步:如果arr[begin]+arr[end] == target,输出arr[begin]、arr[end],并且执行begin+...
2019-10-17 21:21:13
135
原创 JVM垃圾回收算法
判断对象是否存活 - 缓刑阶段 - 垃圾回收一、判断对象是否存活1、引用计数法算法思想:给每个对象加引用计数器,每当引用该对象时,引用计数器+1;不再引用时(引用失效),引用计数器-1;任意时刻,当计数器值为0时,表示对象不再存活优点:实现简单、判断效率较高缺点:无法解决循环引用问题2、可达性分析算法算法思想:通过一系列称为"GC Roots"的对象开始向下寻找,如果从...
2019-10-08 00:07:49
108
原创 基本设计模式
目录一、单例模式二、模板设计模式三、工厂设计模式四、代理设计模式开闭原则(OCP):一个软件实体(类、模块、函数)对扩展开放、对修改关闭一、单例模式保证一个类有且仅有一个实例1 饿汉式单例 I 将构造器私有化,保证外部不能创建实例 II 类内部直接实例化对象(new) III 私有化实例,向外界提供一个返回实例的接口(静态方...
2019-09-15 10:18:28
153
原创 统计回文串
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个 礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办 法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。 例如: A = “...
2019-06-07 00:21:43
329
原创 七大排序算法
常见排序算法1 直接插入排序2 希尔排序3 选择排序4 堆排序5 冒泡排序6 快速排序7 归并排序排序:所谓排序,就是使一组元素,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的...
2019-06-03 21:46:44
414
原创 try-catch-finally块执行顺序
1.try/catch/finally 中没有returnpublic class B { public static void main(String[] args) { System.out.println("test:x="+test()); //step 1 //step 8 x:10 } public static int test(...
2019-05-18 15:20:19
2902
原创 使用IDEA创建xml文件
使用IDEA创建类、包、html文件等都在下图所示的位置进行但是如图,点击鼠标右键却没有发现创建xml文件的选项解决方案1)打开IDEA,点击File选项 -> 点击Other Setting选项 -> 点击Default Settings选项2)点击左侧菜单栏File and Code Templates选项3)点击右侧Files选项4)点击绿色"+"添...
2019-05-06 20:41:39
2317
1
原创 计算一个整数存储在内存中的二进制中1的个数
方法1:适用于正整数 public static void NumberOf1(int num){ int n = num; int count = 0; while(num != 0){ if(num%2 == 1){ count++; } ...
2019-04-17 16:25:16
199
原创 String类/Object类/包装类
String类1 == 和 equals 的区别 == equals 进行数值比较,比较的是两个字符串对象的内存地址数值 进行字符传内容比较 2 String类中两种对象实例化的区别 直接赋值 构造方法 只会开辟一块堆内存空间,并且该字符串对象可以自动保存在...
2019-02-19 19:11:19
165
原创 String类扩展功能实现
//String类扩展功能实现public class Strings{ /** * 重复某个字符 * * 例如: * 'a' 5 => "aaaaa" * 'a' -1 => "" * * @param c 被重复的字符 * @param count 重复...
2018-12-05 08:56:07
394
原创 MySQL相关操作
--批量插入数据insert into actor (actor_id, first_name, last_name, last_update)values (1,'PENELOPE','GUINESS','2006-02-15 12:34:33'),(2,'NICK','WAHLBERG','2006-02-15 12:34:33');--找出所有员工当前(to_date='999...
2018-12-02 16:18:19
175
原创 ArrayUtils的实现
public class ArrayUtils{ //1.计算数组中最大值 public static int arrayMaxElement(int[] data){ int max = data[0]; for(int i=0; i<data.length; i++){ if(data[i] > max){ max = data...
2018-11-14 16:50:33
698
原创 顺序表的操作函数
SeqList.h#ifndef __SEQLIST_H__#define __SEQLIST_H__#include <stdio.h>#include <assert.h>#include <malloc.h>#include <windows.h>#define MAX_SIZE (100)// 值类型 typedef i...
2018-06-08 12:29:37
518
原创 指针
数组名代表整个数组的两种情况:sizeof(数组名) &(数组名);其他出现数组名的情况表示首元素的地址;1.指针数组:指针数组是数组,是一个存放指针的数组。例子:Int *arr1[10]; //arr1里面存放int *变量char *arr2[4]; //arr2里面存放char *变量 char **arr2[5]; //arr3里面存放char **...
2018-05-27 19:43:20
103
原创 实现小游戏扫雷
用C语言实现扫雷小游戏,一共有三部分的代码game.h#ifndef __GAME_H_#define __GAME_H_#include <stdio.h>#include <stdlib.h>#include <time.h>#define EASY_COUNT 10#define ROW 9#define COL 9#defi...
2018-05-07 20:57:40
184
原创 C语言数组的相关运算
关于数组的运算,需要注意以下几点:1.sizeof(数组名):数组名表示整个数组sizeof(数组名)计算的是整个数组的大小,单位是字节2.&数组名:数组名表示整个数组&数组名取的是数组的地址,这里的数组名表示整个数组3.除此之外,所有的数组名表示首元素地址4.二维数组要看首元素的地址,首先要把二维数组想成一维数组5.地址是四个字节...
2018-04-15 13:33:25
833
原创 C语言操作符
操作符的分类1 算术操作符2 移位操作符3 位操作符4 赋值操作符5 单目操作符6 关系操作符7 逻辑操作符8 条件操作符9 逗号表达式10 下标引用、函数调用和结构成员1 算术操作符C提供了所有常用的算术操作符:+ - * / %注:(1)除了%操作符外,其余几个操作符都是既适用于浮点型类型又适用于整数类型;(2)当/操作...
2018-04-01 16:03:23
130
原创 实现小游戏三子棋
三子棋的规则:在九宫格棋盘中,只要横、竖、对角线都能走成一条直线,就赢了。我将实现三子棋游戏的程序分为三个部分第一部分:头文件 game.h#ifndef _GAME_H_#define _GAME_H_#include <string.h>#include <stdio.h>#include <stdlib.h>#include &l...
2018-04-01 15:24:06
294
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人