剑指offer
寒夕若梦
公众号:Java面试百分百,大家可以关注一下呀!
趁着年轻生猛,我要再和生活死磕几年。要么我就毁灭,要么我就铸就辉煌。如果有一天,你发现我在平庸面前低了头,那么请向我开炮。
展开
-
【剑指offer】1-10题
1.赋值运算函数 思路: 将返回值类型声明为该类型的引用 把传入的参数类型声明为常量引用 释放实例自身已有的内存 判断传入的参数和当前的实例是不是同一个实例 2.单例设计模式 思路及代码实现请参考:单例设计模式代码实现 3.在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个...转载 2018-10-26 14:58:31 · 401 阅读 · 0 评论 -
【剑指offer】11-20题
11.给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。不得使用库函数,不需要考虑大数问题 思路:不能用==比较两个浮点数是否相等,因为有误差。考虑输入值的多种情况。 代码实现: public double Power(double base, int exponent) { double res = 0; if ...转载 2018-10-26 15:03:06 · 217 阅读 · 0 评论 -
【剑指offer】21-30题
21.定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 思路:定义两个栈,一个存放入的值。另一个存最小值。 代码实现: public void push(int node) { stack1.push(node); if (stack2.isEmpty()) { stack2.push(node); }else { ...转载 2018-10-26 15:07:36 · 186 阅读 · 0 评论 -
【剑指offer】31-40题
31.求连续子数组(包含负数)的最大和 思路:若和小于0,则将最大和置为当前值,否则计算最大和。 代码实现: public int FindGreatestSumOfSubArray(int[] array) { if (array == null || array.length == 0) return 0; int cur = array[0]; ...转载 2018-10-26 15:15:19 · 177 阅读 · 0 评论 -
【剑指offer】41-50题
41.输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序 思路:定义两个指针,分别递增,寻找和为s的序列。 代码实现: public ArrayList<ArrayList<Integer>> FindContinuousSequence(int sum) { ArrayList<ArrayList<...转载 2018-10-26 15:20:40 · 222 阅读 · 0 评论 -
【剑指offer】51-67题
51.在一个长度为n的数组里的所有数字都在0到n-1的范围内,找出数组中任意一个重复的数字 思路:若下标大于length,则减去length,最后再加上length,若下标的数组值大于length,则返回true。或使用辅助空间(HashSet) 代码实现: public boolean duplicate(int numbers[],int length,int [] duplicati...转载 2018-10-26 15:27:18 · 211 阅读 · 0 评论 -
【剑指offer】Java版代码(完整版)
一、引言 《剑指offer》可谓是程序猿面试的神书了,在面试中帮了我很多,大部分面试的算法题都会遇到原题或者是类似的题。但是书上的代码都是C版的,我在这里整理了一份Java版的代码供大家学习参考,这些代码我都是在OJ上跑过全AC的,所以正确性你大可放心。 二、目录 赋值运算函数 单例设计模式 二维数组中查找目标值 替换字符串中的空格 从尾到头打印链表 ...转载 2018-10-26 15:31:24 · 769 阅读 · 0 评论