日期和时间的处理不仅在面试题中会考到,在实际项目开发中也是我们经常需要处理的问题,似乎没有哪个项目可以避开它们,我们常常在处理用户的出生年月日、注册日期,订单的创建时间等属性时用到,由此可见其重要性。
java.util.Date类
提到日期和时间,我想大家最先想到应该是java.util.Date类吧。Date类可以精确到毫秒数,这个毫秒数是相对于格林威治标准时间“1970-01...
分类:
编程语言 时间:
2014-06-29 07:33:49
阅读次数:
451
设计模式的6大基本原则,其实是在面向对象的基础上发展而来的,通过他们实现了面向对象的三大基本特性继
承、封装和多态,从而提高程序的内聚性降低耦合性,使程序可维护、复用、可扩展、灵活性好。但是一切事物都有
个度,在运用这些原则的时候不能一味地生硬的用下去,在用之前一定要好好思量,从系统的整体性能出发,最大限
度地提高系统的灵活性。...
分类:
其他好文 时间:
2014-06-20 13:41:41
阅读次数:
183
【题目】
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
【题意】
给定一个已排序的数组(不存在重复元素),将它转换成一棵平衡二叉搜索树。
【思路】
由于平衡二叉树要求左右子树的高度差绝对值相遇等于1,也就是说左右子树尽可能包含相同数目节点。
则使用二分法来解本题即可。...
分类:
其他好文 时间:
2014-06-20 11:03:31
阅读次数:
246
【题目】
Given a binary tree, determine if it is height-balanced.
For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.
【题意】
判断二叉树是否是平衡二叉树
【思路】
平衡二...
分类:
其他好文 时间:
2014-06-20 11:02:54
阅读次数:
173
数组含有n个数,其中有一个数只出现1次,其余的数都出现两次,求只出现一次的数。 这个主要考察的是位运算中的异或运算的性质-----当两个相等的数做异或运算他们的值为0(a^a = 0)。本题中对数组中所有的数做异或,那么最后异或的结果就是只出现1次的数。思想很简单代码如下:...
分类:
其他好文 时间:
2014-06-20 10:02:03
阅读次数:
281
【题目】
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).
For example:
Given binary tree {3,9,20,#,#,15,7},
3
/ 9 20
/ 15 7
return its b...
分类:
其他好文 时间:
2014-06-20 09:42:30
阅读次数:
224
继
承(面向对象特征之一)好处:1:提高了代码的复用性。2:让类与类之间产生了关系,提供了另一个特征多态的前提。父类的由来:其实是由多个类不断向上抽取共性内容而来的。java中对于继承,java只支持单继承。java虽然不直接支持多继承,但是保留了这种多继承机制,进行改良。单继承:一个类只能有一个父...
分类:
其他好文 时间:
2014-06-13 14:11:02
阅读次数:
334
继
承(面向对象特征之一)好处:1:提高了代码的复用性。2:让类与类之间产生了关系,提供了另一个特征多态的前提。父类的由来:其实是由多个类不断向上抽取共性内容而来的。java中对于继承,java只支持单继承。java虽然不直接支持多继承,但是保留了这种多继承机制,进行改良。单继承:一个类只能有一个父...
分类:
其他好文 时间:
2014-06-12 00:31:31
阅读次数:
380
【题目】
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
【题意】
将一个有序链表转换成平衡二叉树
【思路】
思路跟Convert Sorted Array to Binary Search Tree完全一样...
分类:
其他好文 时间:
2014-06-07 16:20:05
阅读次数:
287
最长回文字串,相信做过Palindrome Partitioning II 这个题的同学应该可以很快做出来。没错,这个题还可以使用动态规划方法得到一个时间复杂度为O(n^2)的解法,当然如果你想要更好的时间复杂度的算法也是有的。好的,我们先来看看时间复杂度为O(n^2)的算法。
代码实现--动态规划O(n^2)
相信如果你在网上看过了别人的算法,你会发现我的算法是最简洁的。哈哈,这个题需要注意的是如果你用惯了vector的话,你这里肯定会得到超时的提示...
...代码二--复杂度为O(n)的算法...
分类:
其他好文 时间:
2014-06-07 12:08:43
阅读次数:
224