首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
BenYoung
掘友等级
Android/iOS developer
|
极米科技-AladdinX
凡是值得做的就值得尽力做好。
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
75
文章 75
沸点 0
赞
75
返回
|
搜索文章
最新
热门
*剑指Offer题目8:旋转数组的最小数字(Java)
面试题8:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请…
剑指Offer题目7:用两个栈来实现一个队列(Java)
面试题7:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 栈和队列这两种数据结构可以互相用来实现对方,但必须多出同类型的一个辅助数据结构才行。
剑指Offer题目6:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树(Java)
面试题6:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 根-左-右:先访问根节点,再访…
剑指Offer题目5:从未到头打印链表(含递归分析)(Java)
p32 面试题2:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。 从头遍历节点,将所有遍历到的值都压入栈,遍历完之后再从栈弹出值并打印,就实现了从尾到头打印的要求。 递归的本质是栈。 需要从起源去理解:计算机发展过程中,为了表示函数调用自身的场景,不得不创建一种叫 S…
剑指Offer题目4:替换空格(Java)
面试题4:请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We are happy.”,则输出“We%20are%20happy.” 从前往后替换。 缺陷:时间复杂度是 O(n^2)。因为每次都得移动空格后面所有的字符串,效率低下。 从后往前替换。 优点:时间复…
剑指Offer题目3:二维数组中的查找(Java)
面试题3:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 可以得出特点:行列都是有序的。 思路一:从右上角作为起始点进行大小比对,然后一层层排除,减小比对范围…
剑指Offer题目2:实现 Singleton 模式(Java)
剑指Offer 说 double check 方法有点复杂容易出错实在有点牵强。 特性:利用在 Java 中,静态内部类只会在第一次调用到时进行初始化的特性,实现单例模式。 分析:当Ex2Singleton5 加载时,并不会实例化静态内部类,只有当第一次调用静态内部类的 INS…
类的加载时机汇总
实践Tip:通过单例模式引入JVM类加载机制的内容。 首先,需要了解类的加载时机。 Java 虚拟机在有且仅有的 5 中场景下会对类进行初始化。 以上5中情况被称为类的主动引用。除此之外的所有对类的引用都不会对类进行初始化,被成为被动引用。 静态内部类就是被动引用的类型。 当 …
(未完待续)从JVM角度分析 new 一个对象的详细过程
要理解一个对象的创建过程,需要从运行时数据区进行分析,首先需要对JVM运行时数据区布局有深入的理解,同时掌握类加载过程中各个阶段的行为。 梳理new 对象的过程,也是间接从实践的角度去复习了JVM 运行时数据布局和类加载流程两个大主题,后者以前者为基础。 代码编译完,有Test…
Double check 为何需要 volatile?
要理解一个对象的创建过程,需要从运行时数据区进行分析,首先需要对JVM运行时数据区布局有深入的理解,同时掌握类加载过程中各个阶段的行为。详见后续的《从JVM角度分析 new 一个对象的详细过程》。 本文无需深入分析这两个主题,只需要了解创建对象的总体流程即可。 避免重排序问题导…
下一页
个人成就
文章被点赞
72
文章被阅读
72,540
掘力值
1,287
关注了
73
关注者
30
收藏集
12
关注标签
8
加入于
2018-04-24