03 2018 档案
摘要:今天的题目是: There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time compl
阅读全文
摘要:今天的题目是: Given a string, find the length of the longest substring without repeating characters. Examples: Given "abcabcbb", the answer is "abc", which
阅读全文
摘要:今天分析一下String,String有很多实用的特性,比如说“不可变性”,是工程师精心设计的艺术品。用final就是拒绝继承,防止内部属性或方法被破坏。 一,什么是不可变? String不可变很简单,如图,给一个已有字符串“abcd”,第二次赋值为“abcde”,不是在原内存地址上修改数据,而是重
阅读全文
摘要:今天的题目是: You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their node
阅读全文
摘要:今天解析一下java的关键字final,为下一篇String为什么是final的做准备。它通常是指这是无法改变的,不想做改变有两种理由:设计或效率。 下面谈论可能用到final的三种情况:变量、方法和类。 一、final变量 很多编程语言都有某种方法,来向编译器告知一块区域是恒定不变的。有时数据的恒
阅读全文
摘要:1,第一道算法题,题目如下: Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each inpu
阅读全文
摘要:CharSequence是一个接口,表示一个char值的可读序列,此接口为多种char序列提供统一的、只读的通道。既然是接口,就不能通过new来进行赋值,只能通过以下方式赋值: CharSequence cs = "ss"; 该接口有4个常规方法和两个default方法(这两个暂时先不分析了)。 测
阅读全文
摘要:int是一种基本数据类型,Integer是其的包装类,下面我们提出几个问题: 问题一:既然有了包装类,为什么要有基本数据类型? 答:其实完全可以没有,但是这样我们使用起来就不方便了,因此基本数据类型相当于是java给我们留下的语法糖。Integer属于引用类型,new一个对象存储在堆里,我们通过栈中
阅读全文
摘要:之前分析Comparor接口的时候,看到方法居然有实现体,从吃惊到释然,一定是JDK8的新特性(原谅我之前一直用的1.7)。 在JDK8之前,interface中有变量和方法,其中变量是public、final、static的,方法是public、abstract的,因此在interfacer中不需
阅读全文
摘要:堆是一种树,由它实现的优先级队列的插入和删除的时间复杂度都是O(logN)。而有序数组尽管删除最大数据项的时间复杂度为O(1),但是插入需要O(N)时间。当速度非常重要,且有很多插入操作时,可以选择堆来实现优先级队列。 ps:这里的“堆”是指一种特殊的二叉树,不要与java和C++等编程语言里的“堆
阅读全文