02 2020 档案

摘要:题目 给你一个数组arr,和一个整数aim。如果可以任意选择arr中的数字,能不能累加得到aim,返回true或者false 阅读全文
posted @ 2020-02-25 16:08 KrisTse 阅读(732) 评论(0) 推荐(0)
摘要:题目 给你一个二维数组,二维数组中的每个数都是正数,要求从左上角走到右下角,每一步只能向右或者向下。沿途经过的数字要累加起来。返回最小的路径和。 阅读全文
posted @ 2020-02-25 15:32 KrisTse 阅读(208) 评论(0) 推荐(0)
摘要:这道题是最简单的递归问题,这里探讨两个问题: 递归和非递归的转换 任何一个递归过程都可以改为非递归,递归的描述逻辑是从后往前的,f(n)依赖f(n 1)的结果,f(n 1)依赖f(n 2)的结果...以此类推,但是非递归的逻辑是从前往后的,递归改非递归,就是要往前找到不依赖任何项的第一项,再改成(一 阅读全文
posted @ 2020-02-25 13:10 KrisTse 阅读(607) 评论(0) 推荐(1)
摘要:非常简单 阅读全文
posted @ 2020-02-24 22:21 KrisTse 阅读(131) 评论(0) 推荐(0)
摘要:package MyExc; import nowcoder.easy.day05.UnionFind; import java.util. ; class Node{ public int value; //入度 public int in; //出度 public int out; //邻居节点 阅读全文
posted @ 2020-02-24 22:10 KrisTse 阅读(177) 评论(0) 推荐(0)
摘要:定义 (一)前缀树作用 基本作用 给定一系列的字符串,判断有没有以某些字符开头的字符串 ; 扩充用法1 已有一系列字符串中 是否包含某个字符串 方案:在每一个节点上加上一个数据项,该数据项表示由多少字符串是以当前字符结尾的。 扩充用法2 给定一系列字符串, 查询有多少字符串是以当前字符作为前缀的 。 阅读全文
posted @ 2020-02-24 19:56 KrisTse 阅读(182) 评论(0) 推荐(0)
摘要:定义 并查集 是一种树型的数据结构,用于处理一些不交集(Disjoint Sets)的合并及查询问题。有一个 联合 查找算法 ( union find algorithm )定义了两个用于此数据结构的操作: Find:确定元素属于哪一个子集。 它可以被用来确定两个元素是否属于同一子集 。 Union 阅读全文
posted @ 2020-02-24 17:13 KrisTse 阅读(518) 评论(0) 推荐(0)
摘要:题目 分析 数组里面一定有两个以上元素,而且任意两个相邻数不相等 两头: 一个位置比后一个位置数小,称之为局部最小 一个位置比前一个位置数小,称之为局部最小 中间: 一个位置必须比前一个位置小,也要比后一个位置小,称之为局部最小 形象点理解 两头递增、递减,中间下凹 题目要求只返回一个局部最小的位置 阅读全文
posted @ 2020-02-24 00:06 KrisTse 阅读(385) 评论(0) 推荐(0)
摘要:题目 该结构比普通二叉树节点结构多了一个指向父节点的 parent 指针。假设有一 棵 Node 类型的节点组成的二叉树,树中每个节点的 parent 指针都正确地指向自己的父节点,头节点的 parent 指向 null。只给一个在二叉树中的某个节点 node,请实现返回 node 的后继节点的函数 阅读全文
posted @ 2020-02-23 23:51 KrisTse 阅读(437) 评论(0) 推荐(0)
摘要:题目 请把一段纸条竖着放在桌子上,然后从纸条的下边向上方对折1次,压出折痕后展开。此时 折痕是凹下去的,即折痕突起的方向指向纸条的背面。如果从纸条的下边向上方连续对折2 次,压出折痕后展开,此时有三条折痕,从上到下依次是下折痕、下折痕和上折痕。 给定一 个输入参数N,代表纸条都从下边向上方连续对折N 阅读全文
posted @ 2020-02-23 21:30 KrisTse 阅读(506) 评论(0) 推荐(0)
摘要:```java package MyExc; import java.util.Stack; class TreeNode{ int data; TreeNode left; TreeNode right; } public class BinaryTree { public void preOrder(TreeNode head){ Stack stack = new Stack(); stac 阅读全文
posted @ 2020-02-23 21:21 KrisTse 阅读(104) 评论(0) 推荐(0)
摘要:问题 标准贪心问题 输入: 参数1,正数数组costs ; 参数2,正数数组profits ; 参数3, 正数k ; 参数4,正数m ; costs[i]表示i号项目的花费, profits[i]表示i号项目在扣除花 费之后还能挣到的钱(利润), k表示你不能并行、只能串行的最多 做k个项目, m表 阅读全文
posted @ 2020-02-23 17:13 KrisTse 阅读(616) 评论(0) 推荐(0)
摘要:题目 设计一个数据结构,使其能够在接收一个数据流时(数据流全部为整数),动态的返回已经接收到数据的中位数 思路 设计一个大顶堆B,一个小顶堆S,第一个数使其进入B,然后把这个数作为比较的对象,大于这个数使其进入S,小于这个数进入B,每一次进入操作后,执行调整操作,如果两个堆的size之差大于2,进行 阅读全文
posted @ 2020-02-23 14:43 KrisTse 阅读(241) 评论(0) 推荐(0)
摘要:查看MySQL提供的所有存储引擎 从上图我们可以查看出 MySQL 当前默认的存储引擎是InnoDB,并且在5.7版本所有的存储引擎中只有 InnoDB 是事务性存储引擎,也就是说只有 InnoDB 支持事务。 查看MySQL当前默认的存储引擎 我们也可以通过下面的命令查看默认的存储引擎。 查看表的 阅读全文
posted @ 2020-02-10 20:46 KrisTse 阅读(277) 评论(0) 推荐(0)
摘要:为什么索引能提高查询速度 MySQL的基本存储结构是页 (记录都存在页里边) : 各个数据页可以组成一个双向链表;每个数据页中的记录又可以组成一个单向链表;每个数据页都会为存储在它里边的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用二分法快速定位到对应的槽,然后再遍历该槽对应分组 阅读全文
posted @ 2020-02-10 20:45 KrisTse 阅读(623) 评论(0) 推荐(0)
摘要:SQL 标准定义了四个隔离级别: READ UNCOMMITTED(读取未提交) 最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。 READ COMMITTED(读取已提交) 允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生。 REPEAT 阅读全文
posted @ 2020-02-10 20:44 KrisTse 阅读(1190) 评论(0) 推荐(0)
摘要:ACID 原子性 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用; 一致性 执行事务前后,数据保持一致,多个事务对同一个数据读取的结果是相同的; 隔离性 并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的; 持久性 一个事务被提交之 阅读全文
posted @ 2020-02-10 20:43 KrisTse 阅读(172) 评论(0) 推荐(0)
摘要:悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做 阅读全文
posted @ 2020-02-10 20:42 KrisTse 阅读(101) 评论(0) 推荐(0)
摘要:在典型的应用程序中,多个事务并发运行,经常会操作相同的数据来完成各自的任务(多个用户对统一数据进行操作)。并发虽然是必须的,但可能会导致以下的问题: 脏读(Dirty read) 当一个事务正在访问数据并且对数据进行了修改,而这种修改还没有提交到数据库中,这时另外一个事务也访问了这个数据,然后使用了 阅读全文
posted @ 2020-02-10 20:41 KrisTse 阅读(902) 评论(0) 推荐(0)
摘要:集合类的顶级接口,主要存在两个体系: Collection接口 和 Map接口 Collection接口 Collection是最基本的集合接口,Collection接口抽象的定义了集合的基本操作: Map接口 Map接口 储存一组成对的键 值对象,提供key(键)到value(值)的映射,Map中 阅读全文
posted @ 2020-02-10 20:38 KrisTse 阅读(127) 评论(0) 推荐(0)
摘要:2 << 3(左移3位相当于乘以2的3次方,右移3位相当于除以2的3次方)。 阅读全文
posted @ 2020-02-10 14:38 KrisTse 阅读(682) 评论(0) 推荐(0)
摘要:Java 中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。覆盖者可能不会限制它所覆盖的方法的访问。 阅读全文
posted @ 2020-02-10 14:14 KrisTse 阅读(496) 评论(0) 推荐(0)
摘要:static 变量在 Java 中是属于类的,它在所有的实例中的值是一样的。当类被 Java 虚拟机载入的时候,会对 static 变量进行初始化。如果你的代码尝试不用实例来访问非 static 的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。 阅读全文
posted @ 2020-02-10 13:34 KrisTse 阅读(679) 评论(0) 推荐(0)
摘要:值传递 是对基本型变量而言的,传递的是该变量的一个副本,改变副本不影响原变量。 引用传递 一般是对于对象型变量而言的,并不是原对象本身。在函数中对该对象进行修改,就是直接对该对象进行修改。 阅读全文
posted @ 2020-02-10 13:26 KrisTse 阅读(1145) 评论(0) 推荐(0)
摘要:Java 支持的数据类型包括基本数据类型和引用类型。 基本数据类型 整数值型:byte,short,int,long 字符型:char 浮点类型:float,double 布尔型:boolean 整数默认 int 型,小数默认是 double 型。 float 和 long 类型的必须加后缀 。比如 阅读全文
posted @ 2020-02-10 13:22 KrisTse 阅读(1421) 评论(0) 推荐(0)
摘要:JDK 即为 Java 开发工具包,包含编写 Java 程序所必须的编译、运行等开发工具以及 JRE。开发工具如:用于编译 Java 程序的 javac 命令、用于启动 JVM 运行 Java 程序的 Java 命令、用于生成文档的 Javadoc 命令以及用于打包的 jar 命令等等。 JRE 即 阅读全文
posted @ 2020-02-10 13:10 KrisTse 阅读(286) 评论(0) 推荐(0)
摘要:痛点 1. idea方法注释,系统默认的只能获取到参数,无法获取返回值,如下: 2. 使用Eclipse时我们生成注释的习惯是/ +Enter,这里我们也按照这种习惯来设置IDEA的方法注释 设置 1. File Settings Editor Live Templates 1.1 新建Templa 阅读全文
posted @ 2020-02-10 12:30 KrisTse 阅读(1039) 评论(0) 推荐(0)
摘要:& &运算符有两种用法:(1)按位与;(2)逻辑与。 && &&运算符是短路与运算。如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算。 很多时候我们可能都需要用&&而不是&, 例1 输出: i = 0 j = 1 这是因为&后面的语句执行了,而&&后面的语句没有执行 例 阅读全文
posted @ 2020-02-09 21:45 KrisTse 阅读(3127) 评论(0) 推荐(1)
摘要:Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以 阅读全文
posted @ 2020-02-09 21:18 KrisTse 阅读(103) 评论(0) 推荐(0)
摘要:动态规划 特点 1. 计数型 有多少种方法选出k个数使得和是sum 2. 求最大最小值 从左上角走到右下角路径的最大数字和 最长上升子序列长度 3. 求存在性 取石子游戏,先手是否必胜 能不能选出k个数使得和是sum 解题步骤 1. 确定状态 解动态规划的题,必然要创建一个数组,所谓状态,就是说数组 阅读全文
posted @ 2020-02-09 21:08 KrisTse 阅读(286) 评论(0) 推荐(0)
摘要:一个糖果机项目 智能糖果机,用Java软件控制糖果机: 待机 投入一元硬币 转动把手 滑落一颗糖果 待机(根据机器内糖果库存情况,是否提示售罄) 项目新需求的困惑 加入游戏元素:有10%的概率可以拿到2粒糖果 测试类 状态模式方案 状态模式:能根据内部状态的变化,改变对象的行为,看起来好像修改了类 阅读全文
posted @ 2020-02-02 14:05 KrisTse 阅读(123) 评论(0) 推荐(0)
摘要:较差的方案 每个单品都是一个子类,根据策略模式,众多单品子类都有的共同点,抽象出一个父类抽象类Drink,每当有一个新品出现都要写一个单品类,不易扩展,会产生很多子类,臃肿 更好一些的方案 将所有调料集成到父类 属性,并给出相应判断是否添加调料 方法 可用switch,0(不加),1(加),确定添加 阅读全文
posted @ 2020-02-02 14:04 KrisTse 阅读(146) 评论(0) 推荐(0)
摘要:一个家庭影院项目 组建一个家庭影院: DVD播放器、投影仪、自动屏幕、环绕立体声、爆米花机 传统的控制接口设计 直接用遥控器:统筹各设备开关 开爆米花机 放下屏幕 开投影仪 开音响 开DVD,选dvd 去拿爆米花 调暗灯光 播放 观影结束后,关闭各种设备 外观模式的原理和设计 外观模式:提供一个统一 阅读全文
posted @ 2020-02-02 14:02 KrisTse 阅读(123) 评论(0) 推荐(0)
摘要:适配器模式:将一个类的接口转换成另一种接口.让原本接口不兼容的类可以兼容. 从用户的角度看不到被适配者,是解耦的 用户调用适配器转化出来的目标接口方法 适配器再调用被适配者的相关接口方法 用户收到反馈结果,感觉只是和目标接口交互 把鸭子适配成火鸡 装饰者模式与适配器模式的差别 阅读全文
posted @ 2020-02-02 14:00 KrisTse 阅读(118) 评论(0) 推荐(0)
摘要:案例一:遥控器 传统设计方案 Control Light Stereo TraditionControl 测试类 命令模式 原理 使得命令的请求者和执行者解耦 Command接口 两个命令类的例子 LightOnCommand StereoOnCommand NoCommand CommandMod 阅读全文
posted @ 2020-02-02 13:58 KrisTse 阅读(159) 评论(0) 推荐(0)
摘要:观察者模式:对象之间多对一依赖的一种设计方案,被依赖的对象为Subject,依赖的对象为Observer,Subject通知Observer变化 生活中的例子就是:订报纸、顶牛奶 案例一:气象站 一个普通的方案: 气象站类 java package com.java.test.internetwea 阅读全文
posted @ 2020-02-02 13:57 KrisTse 阅读(178) 评论(0) 推荐(0)
摘要:案例1 披萨 不好的设计 所有披萨的父类 一种披萨 另一种披萨 OrderPizza 这里不好的问题在于每加一种新的披萨,这个类里面也要相应的修改 简单工厂模式方案 工厂类 新的OrderPizza 工厂方法模式 工厂方法模式:定义了一个创建对象的抽象方法,由子类决定要实例化的类。 工厂方法模式将对 阅读全文
posted @ 2020-02-02 13:54 KrisTse 阅读(101) 评论(0) 推荐(0)
摘要:两个菜馆合并后的菜单问题 蛋糕店与餐厅合并后,怎么统一管理菜单项目 问题:一个用ArrayList管理菜单,一个用数组管理 传统设计 菜单项 蛋糕店菜单 餐馆菜单 女招待 测试类 阅读全文
posted @ 2020-02-02 13:53 KrisTse 阅读(159) 评论(0) 推荐(0)
摘要:远程糖果机监控项目 监控糖果机:地点、糖果库存和当前状态 本地糖果机监控怎么做 远程代理:远程对象的本地代表,通过它可以让远程对象当本地对象来调用。 远程代理通过网络和真正的远程对象沟通信息。 利用Java RMI实现远程代理 代理模式:为一个对象提供一个替身,以控制对这个对象的访问 被代理的对象可 阅读全文
posted @ 2020-02-02 13:47 KrisTse 阅读(158) 评论(0) 推荐(0)
摘要:运行过程中只有一个对象,可防止一个或多个类调用时,产生多个对象,发生错误。 有些对象我们只需要一个:线程池、缓存、硬件设备等 如果多个实例会有造成冲突、结果的不一致性等问题 最典型的例子:打印机打印东西,在学校打印的时候,几台打印机一起工作,如果不使用单例模式,打出来的纸张就会混在一起,这是我实际生 阅读全文
posted @ 2020-02-01 20:38 KrisTse 阅读(142) 评论(0) 推荐(0)