public class MyStack { /** Initialize your data structure here. */ Queue<Integer> pq = new LinkedList<…
分类:架构
Javascript实现多重继承、多层继承以及混合继承
转自:360图书馆 时间:2016-9-26 原标题:使用Javascript,可以实现多层继承 1.javascript的继承1:多重继承 有3个原型,分别处理学生的姓名,性别和年龄(当然是比较…
用循环(do_while)代替选择(if-else)语句
前言:最近在无聊的复习着软件工程,这门课也够无聊的了,感觉一堆都是要背的概念,而我最讨厌背了!!!所以,哈哈,又开了点思维小差,当看到某某协议说什么最基本的控制结构只有两种:顺序和循环时,欸,说好的选择呢?说什么可以被上…
剑指offer第二版-32.3.之字形打印二叉树
本系列导航:剑指offer(第二版)java实现导航帖 面试题32.3:之字形打印二叉树 题目要求: 请实现一个函数按照之字形打印二叉树。即第一层从左到右打印,第二层从右到左打印,第三层继续从左到右,以此类推。 解题思路…
lintcode 寻找峰值
你给出一个整数数组(size为n),其具有以下特点: 相邻位置的数字是不同的 A[0] < A[1] 并且 A[n – 2] > A[n – 1] 假定P是峰值的位置则满足A[P] &…
重审C中老生常谈的swap函数交换数值
文章也同时在个人博客 http://kimihe.com/更新 概览 本文内容是关于C语言参数传值,以及x86底层实现的计算机科学。 包含了原理速览以及代码示例。 引言 如果你学习过C,可能会对经典的swap函数问题记忆…
Java语言编程规范——排版规范
对于排版的规范,可能大家很多都知道用ctrl+shift+f一键格式化,那么这个一键格式化遵循了什么样的规则呢?当然很多公司也有自己的一个formatting.xml 格式化规范文件。今天我们就来具体了解下这个一键格式化…
剑指offer第二版-62.圆圈中最后剩下的数字
本系列导航:剑指offer(第二版)java实现导航帖 面试题62:圆圈中最后剩下的数字 题目要求: 0,1,2…n-1这n个数字拍成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字,求剩下的最后一个数…
剑指offer第二版-56.数组中只出现一次的两个数字
本系列导航:剑指offer(第二版)java实现导航帖 面试题56:数组中只出现一次的两个数字 题目要求: 一个整数数组里除了两个数字出现一次,其他数字都出现两次。请找出这两个数字。要求时间复杂度为o(n),空间复杂度为…
二分查找算法及其扩展
二分查找是面试中手写代码经常遇到的题目, 昨天还有同事说有个面试, 手写代码这一环节就是二分查找. 在下面两个版本的实现中, 假设传入的数组是递增的. 在面试的时候, 需要问清楚, 传入的数组的特点: 是否是排好序的 递…
封装变化----策略模式
考虑到下面这种情行: 一个动作冒险游戏:有不同的角色:弓箭手(Archer),战士(Warrior),有不同的武器:剑(Sword),匕首(Knife),弓(Bow)。。。 实现:每个角色能使用一种武器,并可以在游戏过程…
lintcode 最长上升子序列
给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度。 说明 最长上升子序列的定义: 最长上升子序列问题是在一个无序的给定序列中找到一个尽可能长的由低到高排列的子序列,这种子序列不一定是连续的或者唯一的。 h…