java
Hust_Shine
这个作者很懒,什么都没留下…
展开
-
希尔排序(Shell Sort)java实现
算法原理希尔排序:将无序数组分割为若干个子序列,子序列不是逐段分割的,而是相隔特定的增量的子序列,对各个子序列进行插入排序;然后再选择一个更小的增量,再将数组分割为多个子序列进行排序......最后选择增量为1,即使用直接插入排序,使最终数组成为有序。增量的选择:在每趟的排序过程都有一个增量,至少满足一个规则 增量关系 d[1] > d[2] > d[3] >..>...原创 2019-02-14 11:03:20 · 191 阅读 · 0 评论 -
scala 方法method与函数function
Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。Scala 中的方法跟 Java 的类似,方法是组成类的一部分。Scala 中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。Scala 中使用 val 语句可以定义函数,def 语句定义方法和函数。方法 methodobject...原创 2019-04-22 11:32:27 · 281 阅读 · 0 评论 -
scala for循环与break语句
for循环object s5_loop { def main(args: Array[String]): Unit = { // for loop for (a <- 1 to 10) { print(a + " ") } println() // until不包括边界值 for (a1 <- 1 until...原创 2019-04-22 11:28:01 · 1009 阅读 · 0 评论 -
Scala 伴生对象与单例对象 代替java静态块与静态方法
object s19_单例对象与伴生对象 { // scala中没有静态方法和静态字段 // 借助于object单例对象实现这一目的 // 相当于java中的工具类,里面可以定义工具函数和常量 // 单例对象不能带参数,不能实例化,在第一次调用的时候初始化 def log(mes: String): Unit = { println(s"INFO:$mes") ...原创 2019-04-22 11:21:59 · 742 阅读 · 0 评论 -
scala 抽象类与特质
抽象类object s22_abstractClass { def main(args: Array[String]): Unit = { var man = new Men println(man.getId()) println(man.gender, man.name) }}abstract class Person1 { // 抽象类不能被...原创 2019-04-22 11:16:38 · 369 阅读 · 0 评论 -
剑指offer No.4 替换空格 java(提供三种解法)
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。方法一 replace方法,这里不展示方法二 StringBuffer类public class Solution { public String replaceSpace(StringBuffer str) ...原创 2019-03-15 21:35:57 · 133 阅读 · 0 评论 -
剑指offer No.19 二叉树的镜像 java实现(递归+非递归)
操作给定的二叉树,将其变换为源二叉树的镜像。二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5非递归栈实现...原创 2019-03-15 21:29:27 · 288 阅读 · 0 评论 -
网易笔试题之DFS回溯法求解黑白棋(翻翻棋)
黑白棋,又叫翻转棋(Reversi)、苹果棋或奥赛罗棋(Othello)。游戏规则:棋盘共有8行8列共64格。开局时,棋盘正中央的4格先置放黑白相隔的4枚棋子(亦有求变化相邻放置)。通常黑子先行。双方轮流落子。只要落子和棋盘上任一枚己方的棋子在一条线上(横、直、斜线皆可)夹着对方棋子,就能将对方的这些棋子转变为我己方(翻面即可)。如果在任一位置落子都不能夹住对手的任一颗棋子,就要让对手下子...原创 2019-03-07 10:04:56 · 1905 阅读 · 0 评论 -
笔试面试之编写高质量的代码 剑指offer学习笔记
高质量的代码:容错处理能力,规范性,完整性。尽量展示代码的可扩展型和可维护性。容错处理能力:特别的输入和处理,异常,资源回收。规范性:清晰的书写,清晰的布局,合理的命名。完整性:功能测试,边界测试,负面测试。三种错误处理方法:1.返回值。eg:很多Windows API,返回为0正确,不为0对应各种错误。缺点:不能把计算结果赋值给其他变量或作为参数传递给其他函数。2.出...原创 2019-02-14 11:01:57 · 129 阅读 · 0 评论 -
java异常 笔试面试考点2: 异常处理语法
java异常处理本质Java的异常处理本质上是抛出异常和捕获异常。抛出异常:明确异常类型,创建异常对象,并抛出交给上层环境处理。捕获异常:在方法抛出异常之后,运行时系统将转为寻找合适的异常处理器(exception handler)。 潜在的异常处理器是异常发生时依次存留在调用栈中的方法的集合。当异常处理器所能处理的异常类型与方法抛出的异常类型相符时,即为合适的异常处...原创 2019-02-14 11:02:15 · 420 阅读 · 0 评论 -
java异常 笔试面试考点1 :java异常体系,检查异常与非检查异常
Java标准库内建了一些通用的异常,这些类以Throwable为顶层父类。Throwable又派生出Error类和Exception类。错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception为父类的分支下的各种异常类。异常:Exception以及他的子类,代表程序运行时发送的各种不期望发生的...原创 2019-02-14 11:02:27 · 561 阅读 · 0 评论 -
java 抽象类与接口对比
java面试常见面试题:抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口抽象类与接口抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。这就像契约模式,如果实现了这个接口,那么就必须确保使用这些方法。接口只是一种形式,接...原创 2019-02-14 11:02:54 · 298 阅读 · 0 评论 -
卡特兰数 原理、性质 、应用场景与编程求解
卡特兰数1. 定义与背景卡塔兰数是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。卡塔兰数的一般项公式为 另类递归式 $ h(n)=\frac{4*n-2}{n+1}*h(n-1)$前几项为: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, ...原创 2019-04-30 11:44:46 · 764 阅读 · 0 评论