- 博客(11)
- 收藏
- 关注
原创 最大子序和问题
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。思路:1、动态规划首先需要对序列进行遍历,当前最大子序列的和为sum,最终结果为ans。2、如果sum>0,说明当前sum值对结果有增益,sum保...
2019-08-19 15:07:36
397
原创 剑指offer面试题11:数值的整数次方
实现函数double Power(double base,int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题1、底数为0,指数为负数的情况,无意义2、指数为0,返回13、指数为负数,返回1.0/base,-exponent4、指数为整数,base,exponent5、同时考虑到判断double类型,计算机有误差,需要写一个专门的函数判断d...
2019-08-09 17:53:51
171
原创 剑指offer面试题10:二进制中1的数
思路:把一个整数减去一,再与原整数做与运算,会把该整数最右边的一个1变成0,一个整数的二进制表示中有多少个1就可以进行多少次运算。位与符号是&真值表达式为: 1&1=1,1&0=0,0&1=0,0&0=0public class Main9 { public static int numOfOne(int num){ int c...
2019-08-09 17:50:21
190
原创 剑指offer面试题9:斐波那契数列
写一个函数,输入n,求斐波那契数列的第n项。思路:直接使用递归会重复计算很多次,需要把已经计算到的中间项保存起来,当下次需要计算的时候先查找一下,如果计算过就不用再计算了。public class Main8 { public static int Fibnacci(int n){ int result = 0; int preOne = 0; ...
2019-08-09 17:45:24
167
原创 剑指offer面试题8:旋转数组的最小数字
题目:把一个数组最开始的若干个元素搬到数组的末尾, 我们称之数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{l ,2, 3, 4, 5}的一个旋转,该数组的最小值为1思路:想利用旋转数组的局部有序性进行二分查找数组的最小值。具体思路:1、用两个指针分别指向数组的第一个元素和最后一个元素,根据题意,第一个元素应该是大于等于最后一个...
2019-08-09 17:38:36
178
原创 剑指offer面试题7:用两个栈实现队列
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail 和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。import java.util.Stack;/** Stack.peek()与Stack.pop() peek():返回栈顶的值 ;不改变栈的值,查看栈顶的对象而不移除它。 pop():返回栈顶的值 ;会把栈顶的值删除。 p...
2019-08-09 15:08:45
135
原创 剑指offer面试题5:从尾到头打印链表
思路:链表反转。public class Main4 { public static class ListNode{ int val; ListNode next; public ListNode(int x){ this.val = x; } } public static List...
2019-08-09 14:26:04
108
原创 剑指offer面试题4:替换空格
题目:替换空格:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy",则输出”We%20are%20happy思路:思路:看到这个问题,我们通常的思路是从前向后遍历字符串,每遇到一个空格将空格之后的字符向后移动两位,然后将将“%20”插进去,假设字符串长度为n,有n个空格,对于每个空格,需要移动后面的字符的时间复杂度为o(n),则对于n个空格时间复杂度为...
2019-08-09 14:17:03
151
原创 剑指offer面试题3:二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:从第一行的最后一个数开始比较,如果该数比较大,则行数加一,如果该数较小,则列数减一。public class Main1 { public static boolean hasTheNumber(int[][]...
2019-08-09 14:03:25
91
原创 剑指offer面试题2:实现单例模式
单例模式的两种实现方式:饿汉式、懒汉式饿汉式是在类加载的时候就已经实例化,即使是两个线程同时想获取它,取到的是类加载时实例化的那个变量的值,所以线程是安全的。懒汉式是线程不安全的,因为有可能两个线程同时判断(instance==null),这个时候就会产生两个实例。public class Main {public static class Singleton{public static...
2019-08-09 13:34:04
143
转载 5月14号学习笔记
ES权威指南学习@TOC基础入门:为了搜索一个ES集群可以包含多个索引,相应的每个索引可以包含多个类型。这些不同的类型存储着多个文档,每个文档又有多个属性。索引做名词讲类似 于是数据库,索引做动词讲:索引一个文档就是存储一个文档到一个索引。索引雇员文档:PUT /megacorp/employee/1{“first_name” : “John”,“last_name” : “Sm...
2019-05-14 17:13:24
117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人