Coding Rabbit


  • 首页

  • 关于

  • 归档

  • 标签

  • 搜索

Divide Two Integers || Find Minimum in Rotated Sorted Array II

发表于 2017-07-08
Divide Two IntegersQuestionDivide two integers without using multiplication, division and mod operator. If it is overflow, return MAX_INT. Analysis 事先确定结果的正负号,操作过程中保证除数与被除数都为正 由于无法使用乘法,所以最初想法为被除数不断地减去被除数,直到值=0,减去被除数的次数即结果 对被除数进行位操作,左移k位相当于divisor的2^k倍,首先减去最大的k值下的divisor shift++操作后的结果需-1是实际的结果 divide ...
阅读全文 »

Number of Digit One || Integer Replacement

发表于 2017-07-08
Number of Digit OneQuestionGiven an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n. For example: Given n = 13, Return 6, because digit 1 occurred in the following numbers: 1, 10, 11, 12, 13. Analysis每10个数, 有一个个位是1, 每100个数, 有10个十位是1, 每1000个 ...
阅读全文 »

Java 多线程整理

发表于 2017-03-14
线程的概念 一个程序可能包含多个并发运行的任务,线程是指一个任务从头到尾的执行流。 多个线程共享CPU时间成为时间共享,而操作系统负责调度及分配资源给它们。 多线程可以使程序反应更快,交互性更强,执行效率更高。 创建任务和线程 首选需要创建任务,为任务定义一个类。任务类必须实现Runnable接口,它只包含了一个run方法,这个方法用来告诉系统线程如何运行。 任务必须在线程中进行,故需要利用Thread创建任务的线程。 调用start() 方法告诉Java虚拟机该线程准备运行。 Java虚拟机通过调用任务的run()方法执行任务,Java虚拟机会自动调用该方法,无需特意调用。直接调用run( ...
阅读全文 »

Java基础知识(四)

发表于 2017-02-28
简单的泛型类 泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用。 一个泛型类(generic class) 就是具有一个或者多个类型变量的类,且泛型类中可以有多个类型变量,类定义中的类型变量指定方法的返回类型以及域和局部变量的类型。 如:public class Pair\{…} ​ private T first; 在Java库中,使用变量E表示结合的元素类型,K和V分别表示表的关键字与值得类型,T(U,S) 表示任意类型。 泛型方法 定义泛型方法时,类型变量放在修饰符(如public,static等)的后面,返回类型的前面。 如: 12345class ArrayA ...
阅读全文 »

Java基础知识(三)

发表于 2017-02-26
接口 接口用来描述类具有什么功能,而并不给出每个功能的具体实现。 接口中的所有方法自动地属于public,所以在接口中声明方法的时候,不必提供关键字public。而在实现接口的时候,必须将方法声明为public。 接口绝对不能含有实例域,也不能在接口中实现方法。 任何实现Comparable接口的类都需要包含compareTo方法,并且这个方法的参数必须是一个Object对象,返回一个整型数值。 不能构造接口的对象(x = new Comparable(…) //ERROR),但是可以声明接口的变量(Comparable x; //OK);接口变量必须引用实现了接口的类对象。 接口中虽然不能包 ...
阅读全文 »

Java基础知识(二)

发表于 2017-02-25
类、超类、子类 Java中所有的继承都是公有继承 若希望调用超类(父类)中的方法,而不是当前类中的某个方法,可以使用特定的关键字super调用。但super与this不同,super不是一个对象的引用,它只是一个指示编译器调用超类方法的特殊关键字。 由于子类不能对父类的私有域初始化,所以可以通过super实现对超类构造器(含有参数的)的调用,使用super调用构造器的语句必须是子类构造器的第一句。若没有调用,则会默认调用无参数的构造器。 一个对象变量可以指示多种实际类型的现象被称为多态。 在运行时能够自动地选择调用哪个方法的现象叫动态绑定。 对象方法的调用过程中: 假如调用的方法是privat ...
阅读全文 »

Java基础知识(一)

发表于 2017-02-24
用户自定义类 不要编写返回引用可变对象的访问器方法 P113 将函数设置为private: 希望将一个计算代码划分成若干个独立的辅助方法 需要一个特别的协议以及一个特别的调用次序 将实例域定义为final,必须确保在每一个构造器执行之后,这个域的值被设置,并且在后面的操作中,不能够对它继续操作。final大多数时候应用于基本类型域和不可变类的域。 静态域与静态方法 static静态域(变量),每个类中只有一个这样的域,若干个对象共享这样一个静态域,静态域是属于类的,不属于任何一个对象。 static静态常量使用的较多,比如Math.PI, System.out等等。 静态方 ...
阅读全文 »

Merge Intervals || Wiggle Sort II

发表于 2017-02-23
Merge IntervalsQuestionGiven a collection of intervals, merge all overlapping intervals. For example, Given [1,3],[2,6],[8,10],[15,18], return [1,6],[8,10],[15,18]. Analysis利用Collections.sort 重写Compare函数对Interval内区间进行排序,排序的原则是以start,end进行升序排序,排序后进行区间的合并。 end记录可合并区间的最大上界,start记录下界 当前区间不可合并时,将区间[star ...
阅读全文 »

Sort 合集

发表于 2017-02-23
Intersection of Two ArraysQuestionGiven two arrays, write a function to compute their intersection. Example:Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2]. Analysis两个HashSet分别用于找Intersection和存储不重复结果 时间复杂度 :O(n) Code12345678910111213141516171819public class Solution { public int[] int ...
阅读全文 »

Count Complete Tree Nodes

发表于 2017-02-09
Count Complete Tree NodesQuestionGiven a complete binary tree, count the number of nodes. Definition of a complete binary tree from Wikipedia: In a complete binary tree every level, except possibly the last, is completely filled, and all nodes in the last level are as far left as possible. It can ha ...
阅读全文 »
12…8
Coding Rabbit

Coding Rabbit

77 日志
37 标签
RSS
Github Facebook weibo
Links
  • Codeboy
  • Yijia_Jin
© 2017 Coding Rabbit
由 Hexo 强力驱动
主题 - NexT.Mist