- 博客(31)
- 收藏
- 关注
原创 数据结构+算法
数据结构与算法排序归并排序(分治算法)思想,递归拆分数组,将其进行比较替换后 在进行合并代码实现:package com.xu.fingeroffer.递归;import java.util.Arrays;public class 归并排序 { public static void main(String[] args) { int a[] = {9, 2, 6, 3, 5, 7, 10, 11, 12}; int[] sort = sort(a)
2021-08-04 15:39:24 6041
原创 springboot+沙箱支付宝
springboot+沙箱支付宝pom依赖 <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>4.10.70.ALL</version> </dependency>
2021-08-04 15:37:40 832
原创 vue.js
Vue.js官网:https://cn.vuejs.org/开发环境:适用于学习 提示较多vue+axios<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script>生产环境:性能高<!-- 生产环境版本,优化了尺寸和速度 -
2021-07-26 17:32:14 142
原创 剑指50:数组中重复的数字
50:数组中重复的数字题目描述描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任一一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1问题解析如题可知 数组中的数字大小不会超过数组的长度,所以可以用数组来实现,创建一个空数组与原数组长度相同,遍历元数组,使得新数组中原数组中值对应的下标位置的值+1;当对应下表值为2的
2021-07-16 11:24:01 80
原创 48:不用加减乘除做加法
48:不用加减乘除做加法题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。问题解析使用位运算,异或 左移代码实现package com.xu.fingeroffer.fifry;public class 位运算加48 { public int Add(int num1,int num2) { while (num2!=0){ int temp = num1^num2; num2 = (
2021-07-16 09:03:15 63
原创 剑指45:扑克牌顺子
45:扑克牌顺子问题描述:现在有2副扑克牌,从扑克牌中随机五张扑克牌,我们需要来判断一下是不是顺子。有如下规则:\1. A为1,J为11,Q为12,K为13,A不能视为14\2. 大、小王为 0,0可以看作任意牌\3. 如果给出的五张牌能组成顺子(即这五张牌是连续的)就输出true,否则就输出false。例如:给出数据[6,0,2,0,4]中间的两个0一个看作3,一个看作5 。即:[6,3,2,5,4]这样这五张牌在[2,6]区间连续,输出true数据保证每组5个数字,每组最多含有4个零
2021-07-15 22:00:23 125
原创 剑指39平衡二叉树
39平衡二叉树问题描述:输入一棵二叉树,判断该二叉树是否是平衡二叉树。在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树平衡二叉树(Balanced Binary Tree),具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。注:我们约定空树是平衡二叉树。题目分析:计算二叉树左右子节点的最大深度,然后进行比较,若相差小于1则继续比较其子树,直到所有都为平衡二叉树的时候才为真代码实现:package com.xu.finger
2021-07-15 21:25:53 66
原创 剑指38:二叉树的深度
题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。问题分析递归比较 左右子节点的深度代码实现package com.xu.fingeroffer.forty;import com.xu.fingeroffer.node.TreeNode;public class 二叉树的深度38 { public int TreeDepth(TreeNode root) { if(root==null){
2021-07-15 19:00:04 65
原创 剑指34:第一个只出现一次的字符
34:第一个只出现一次的字符问题描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)题目分析遍历字符串,将其放到map集合中,若有重复,则value+1,然后遍历该字符串,取第一个value值为1 的下标位置代码实现package com.xu.fingeroffer.forty;import java.util.HashMap;/** * 在一个字符串(0
2021-07-15 18:33:40 80
原创 剑指36:两个链表的第一个公共节点
问题描述:输入两个无环的单链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)题目解析:给两个 无环的单链表,求两个链表集合中 存在共同的数 ,遍历两个链表即可得出代码实现:package com.xu.fingeroffer.forty;import com.xu.fingeroffer.node.ListNode;/** * 输入两个无环的单链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数
2021-07-15 18:20:26 78
原创 剑指30:连续子数组的最大和
30:连续子数组的最大和题目描述输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为 O(n).问题解析遍历数组,设定一个max值和变量值,变量值是从前往后遍历添加的 ,若数组为null 则max = 0,一次遍历,若变量值>max 则将变量值赋给max ,若变量小于0,则给该变量重新赋值代码实现package com.xu.fingeroffer.thirty;import java.util.Arrays;i
2021-07-15 16:34:29 67
原创 剑指29最小的k个数
29:最小的k个数题目描述:给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。0 <= k <= input.length <= 100000 <= input[i] <= 10000问题解析将数组排序,然后将其加入到集合当中代码实现package com.xu.fingeroffer.thirty;import java.util.ArrayList;import java.
2021-07-15 16:01:26 66
原创 剑指28 数组中超过一半的数字
剑指28:数组中超过一半的数字题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。你可以假设数组是非空的,并且给定的数组总是存在多数元素。1<=数组长度<=50000问题分析将数组遍历 保存在一个map中,判断map中的value 若其中某个值大于数组长度的一半 ,则返回代码实现 package com.xu.fingeroffer.th
2021-07-15 15:35:56 68
原创 数据结构
数据结构树简单二叉树树包括 左子右子树:节点 key value值添加元素给指定节点x添加元素若头节点为空,则最先给头节点赋值,若头节点不为空 ,则进行key与x.key比较 若大于 则向右递归添加 若x.left 或者x.right =null 则让 x.left 或者x.right = put(x.right,key,value)查找在指定节点中查找 若key>x.key则向右插 若小于向左查,若等于 则返回value 若没有 返回null删除在指定节点中进行查找,
2021-05-17 20:03:17 63
转载 mybatis-plus
1.特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence)
2021-04-07 12:05:06 186
原创 spring
Spring简介Spring : 春天 —>给软件行业带来了春天2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。很难想象Rod Johnson的学历 , 他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架技术官网 : http://spring.
2021-04-07 11:07:45 189
原创 Mybatis
Mybatis环境jdk1.8mysql 5.7maven 3.6.1idea回顾jdbcmysqlJava基础mavenjunit中文文档https://mybatis.org/mybatis-3/zh/configuration.html第一个Mybatis程序构建mybatis依赖<!--数据库依赖--><dependency> <groupId>mysql</groupId> <a
2021-04-07 11:07:16 152
原创 servlet
HelloServletpublic class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { PrintWriter writer = resp.getWriter();//响应流 writer
2021-04-06 21:23:32 88
原创 JQuery
JQueryjQuery库里面存在大量的JavaScript函数获取jQuery<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <!--导入jQuery--> <script src="http://lib.sinaapp.com/js
2021-04-06 21:23:10 76
原创 CSS
CSS快速入门MyFirstCSS<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>CSS</title> <!-- 规范,style可以编写CSS的代码,每一个声明,最好用分号结尾--> <style> h1 { color: red;
2021-04-06 21:22:56 82
原创 html
html基本标签<!--标题标签--><h1>一级标签</h1><h2>二级标签</h2><h3>三级标签</h3><h4>四级标签</h4><h5>五级标签</h5><h6>六级标签</h6><!--段落标签--><p>我怀念的是 无话不说</p><p>我怀念的是 自己承受<
2021-04-06 21:22:44 101
原创 线程详解
创建线程线程开启不一定立即执行,由cpu调用 执行方法1:继承Thread类,重写run方法,用start开启线程package Thread.ThreadTest1;public class Main { public static void main(String[] args) { Test1 test1 = new Test1(); test1.start(); for (int i = 0; i < 200; i++) {
2021-04-06 21:22:01 62
原创 网络编程
TCPTCPServerpackage NetWork.TCP;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;public class ServerSocketTest { public static void main(String[] args) throws IOException { Serve
2021-04-06 21:21:45 49
原创 反射
注解内置注解package Annotation;public class test extends Object { //Override 重写的注解 @Override public String toString() { return super.toString(); } //Deprecated:不推荐程序员使用,但是可以使用,存在更好的方式 @Deprecated public static void test1(
2021-04-06 21:21:01 64
原创 IO流
字节流字节输入流(FileInputStream)package IO.FileInputStreamTest;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.util.Arrays;public class Test1 { public static void main(St
2021-04-06 21:20:41 53
原创 api
1.枚举枚举中定义的是常量package API.EnumTest;public class Main { public static void main(String[] args) { System.out.println(MyEnum.myEnum1 .equals(MyEnum.myEnum2)); }}enum MyEnum{ myEnum1,myEnum2;}2 . APIapi是什么application program inter
2021-04-06 21:20:20 69
原创 异常处理
异常Throwable 分为Exception 和 Errorpackage Exception;public class test1 { public static void main(String[] args) { try { test(1,0); } catch (Exception e) { e.printStackTrace(); } /* int a = 10;
2021-04-06 21:19:56 53
原创 面向对象
面向对象编程的本质:以类的方式组织代码,以对象的方式封装数据return和break区别break:跳出switch语句和循环体return:结束方法 返回一个值可以为空 ,void没有返回值方法名:驼峰命名,见名知意静态方法和非静态方法区别静态方法:通过其他类或者方法中可以直接调用和类一起加载的package OOP;public class MethodStatic { public static void main(String[] args) { Stud
2021-01-31 13:58:07 149
原创 数组
数组使用package Array;public class testAdd { public static void main(String[] args) { //求和 int []m = {1,2,3,4,5}; int sum = 0; for(int i:m){ sum+=i; } System.out.println("和为"+sum); Syst
2021-01-30 08:14:00 87
原创 方法详解
方法package Method;public class MethodAdd { public static void main(String[] args) {/* int sum = add(5,3); System.out.println(sum);*/ max(10,10);} public static int add(int a ,int b){ return a+b; } public
2021-01-30 08:10:19 113
原创 流程控制
Scanner进阶scanner.next后面不能带空格Scanner scanner = new Scanner(System.in);if(scanner.hasNext()){ String s = scanner.next(); System.out.println(s);[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZrsAQ8Te-1611965305203)(C:\Users\15797\AppData\Roaming\Typora\t
2021-01-30 08:09:30 71
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人