08 2020 档案
摘要:import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; /** * 输入一个字符串,按字典序打印出该字符串中字符的所有排列。 * 例如输入字符串abc,则按字典序打印出由字符a,b,c所能
阅读全文
摘要:/** * 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。 * 要求不能创建任何新的结点,只能调整树中结点指针的指向。 * <p> * 思路 * 方式一 * 1、先按中序遍历,把节点存入list * 2、再把list的节点连接成双向链表 * <p> * 方式二 * 中序遍历时直接指向
阅读全文
摘要:class RandomListNode { int label; RandomListNode next = null; RandomListNode random = null; RandomListNode(int label) { this.label = label; } } /** *
阅读全文
摘要:import java.util.ArrayList; class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } }
阅读全文
摘要:/** * 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。 * 如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。 * <p> * 思路 * 二叉搜索树,满足根节点大于左子树所有节点,小于右子树左右节点 * 将数组从后往前遍历,每个节点都是所在子树的
阅读全文
摘要:import java.util.ArrayList; class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } }
阅读全文
摘要:/** * 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。 * 假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序, * 序列4,5,3,2,1是该压栈序列对应的一个弹出序列, * 但4,3,5,1,2就不可能是该压栈序列的弹出序列。
阅读全文
摘要:现实生活中的适配器例子--多功能转换插头 基本介绍 1、适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主要目的是兼容性,让原本因接口不匹配不能在一起工作的两个类可以协同工作,、 2、适配器模式属于结构型模式 3、主要分:类适配器模式、对象适配器模式、接口适配器模式 工作原理 1、适配器模
阅读全文
摘要:引出问题 1、需要建房子:打桩、砌墙、封顶 2、房子各种各样,比如普通房、高楼等 3、请编写重新,完成需求 传统方法解决盖房需求 思路分析 代码 public abstract class AbstractHouse { //打地基 public abstract void buildBasic()
阅读全文
摘要:原型模式 克隆羊问题 现在有一只羊,姓名为tom,年龄为1,颜色为白色,请编写程序创建和tom羊属性完全相同的10只羊. 传统方法解决克隆羊问题 思路分析 代码 Sheep public class Sheep { private String name; private int age; priv
阅读全文
摘要:工厂模式 工厂模式属于创建型模式.提供了一种创建对象的最佳方式. 介绍 定义一个创建对象的接口,让其子类自己决定实例化哪一工厂类,工厂模式使其创建过程延迟到子类进行. 应用实例一 您需要一辆汽车,可以直接从工厂里面提货,而不用去管这俩汽车是怎么做出来的,如果想新增一个产品,只有扩展一个工厂类就可以,
阅读全文
摘要:单例模式介绍 所谓单例模式,就是采取一定的方法保证在整个的软件系统中,只能存在一个对象实例,并且该实例只提供一个取得其对象实例的方法(静态方法) 单例模式有八种方法 1、饿汉式(静态常量) 2、饿汉式(静态代码块) 3、懒汉式(线程不安全) 4、懒汉式(线程安全,同步方法) 5、懒汉式(线程安全,同
阅读全文
摘要:import java.util.ArrayList; /** * 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字, * 例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 * 则依次打印出数字1,2,3,4,8,12,16
阅读全文
摘要:class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } /** * 操作给定的二叉树,将其变换为源二叉树的镜像。
阅读全文
摘要:class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } import javax.swing.tree.Tree
阅读全文
摘要:class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } /** * 目标: * 输入两个单调递增的链表,输出两个链表合成后的链表, * 当然我们需要合成后的链表满足单调不减规则。
阅读全文
摘要:问题:编写代码过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等挑战. 设计模式的好处 1、提到代码重用性(即,相同代码,不用多次编写) 2、可读性(即,编程规范性,便于其他程序员的阅读和理解) 3、可扩展性(即,当需要增加新的功能时,非常的方便,称为可维护性) 4、可靠
阅读全文
摘要:class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } /** * 输入一个链表,反转链表后,输出新链表的表头。 * 注意:编程时,首先判断非法条件 * 思路: * 题目考的是递归
阅读全文
摘要:class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } /** * 输入一个链表,输出该链表中倒数第k个结点。 * 注意:编程时,首先判断非法条件 */ public class
阅读全文
摘要:/** * 输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。 */ public class Solution11 { public int NumberOf1(int n) { if (n == 0) { return 0; } return Integer.toBinary
阅读全文
摘要:解题思路一 /** * 目标: * 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。 * 求该青蛙跳上一个n级的台阶总共有多少种跳法。 * 思路: * 因为是n级台阶,第一步有n种跳法:跳1、2、3。。。n级 * 第一步: * 跳1级,剩下n-1级,则剩下的跳法是f(n-1) *
阅读全文
摘要:/** * 目标:一只青蛙一次可以跳上1级台阶,也可以跳上2级。 * 求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 * 思路: * 只有1级时有1种 * 只有两级时有2种 * 之后每级,都有f(n-1)+f(n-2)种 */ public class Solution8
阅读全文
摘要:/** * 目标:大家都知道斐波那契数列,现在要求输入一个整数n, * 请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。 * n<=39 * 思路:前两项相加为第三项 * 代码: */ public class Sulution7 { public int Fibonacci(in
阅读全文
摘要:/** * 目标:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 * 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 * 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 * NOTE:给出的所有元素都大于0,若数组大小为0,请
阅读全文
摘要:/** * 目标:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 * 思路: * 队列是先进先出的数据结构 * 栈是先进后出的数据结构 * 当把一个stack倒进另一个stack就变成了先进先出 * 注意:怎么使得整个算法是可以循环的 * 入队时,把node放入
阅读全文
摘要:import java.util.HashMap; //Definition for binary tree class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } /** * 目
阅读全文
摘要:import java.util.ArrayList; import java.util.Stack; class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } /** * 目标:输
阅读全文
摘要:后台管理系统 搭建环境 使用Maven作为构建管理和依赖管理工具. 使用SpringMVC作为Web层框架 普通请求:返回响应体通常为一个页面 Ajax请求:返回响应体通常为json数据 使用Mybatis作为持久层框架 使用Mybatis的PageHelper插件实现数据的分页显示. Admin数
阅读全文
摘要:租赁ECS服务器 网址 内存选择 由于所有程序、web应用、微服务都要在一个实例中运行,所以实例的内存建议使用8G. 实例管理 进入ECS控制台 MAC远程连接Linux 安装服务器端运行环境 上传 安装JDK 1、解压JDK压缩包 2、配置/etc/profile文件 3、使用source命令使/
阅读全文
摘要:1、使用ssh命令连接Linux服务器主机 不设置端口,默认就是22 ssh root@服务器ip 2、使用scp命令实现文件上传下载 示例 1、将本地文件/user/a/txt,上传到服务器/usr/opt/目录 Scp /user/a/txt root@服务器ip:/usr/opt/ 若是目录应
阅读全文
摘要:订单部分建模回顾 实体类之间关系 创建OrderVO实体类 public class OrderVO implements Serializable { private static final long serialVersionUID = 1L; // 主键 private Integer id
阅读全文
摘要:搭建order-consumer开发环境 参照project-consumer 注意不要忘了在zuul里面添加order-consumer对应的路由规则 crowd-order: service-id: adom-crowd-order path: /order/** 建模 结构 物理建模 订单表
阅读全文
摘要:衔接上一步支付宝支付接口使用 沙箱环境 蚂蚁沙箱环境(Beta) 是协助开发者进行接口功能开发及主要功能联调的辅助环境。 沙箱环境模拟了开放平台部分产品的主要功能和主要逻辑(当前沙箱支持产品请参考下文的 沙箱支持产品 列表)。 在开发者应用上线审核前,开发者可以根据自身需求,先在沙箱环境中了解、组合
阅读全文
摘要:上网的常规方式 在内网访问外网很方便 项目发布的常规方式 先在内网环境中完成开发,再部署到位于外网的生产服务器上. 现在面临的特殊情况 我们现在在内网开发环境下,需要让外网来调用内网中的项目.如果不采用特殊处理这种情况是访问不到的 内网穿透 NATAPP工具 https://natapp.cn 注册
阅读全文
摘要:支付宝开放平台网址 首页:https://open.alipay.com 文档中心首页:https://docs.open.alipay.com 文档分类网址:https://docs.open.alipay.com/catalog 主要参考文档: 电脑网站支付 这里以电脑网站支付为例 总体步骤参考
阅读全文