自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 2020-09-15,小米笔试,java

第一题:字符串有效判断,(,),{,},[,].有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。注意:输入中包含空字符,匹配只匹配左右括号,空字符直接过滤掉就可以代码只能通过80%package com;import java.util.Scanner;import java.util.Stack;public

2020-09-17 16:16:37 517

原创 滑动窗口最大值

给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。进阶:你能在线性时间复杂度内解决此题吗?示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释:滑动窗口的位置 最大值[1 3 -1] -3 5 3 6 7 31 [3 -1 -3] 5

2020-09-08 15:59:29 246

原创 搜狗后端笔试,2020.9.5

道具问题:A,B,C道具分别a,b,c个。两个任意道具可以换另一个道具,一个A,B,C一组,可以换一个奖励,求最多另一换多少个奖励。输入4,4,2输入3import java.util.Arrays;public class Test9 { public static void main(String[] args) { System.out.println(numberofprize(3,5,10)); } static int numberofpriz

2020-09-08 11:15:11 255

原创 百度2021java笔试

n个由0和5组成的数,找出所有可能的数字中最大能整除90的最大数字,不存在则输出-1。import java.util.Scanner;public class Solution6 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); int c0 = 0; int c5 = 0

2020-09-03 21:31:33 472

原创 JZ51构建乘积数组

题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * … * A[n-1],B[n-1] = A[0] * A[1] * … * A[n-2];)对于A长度为1的情况,B无意义,故而无法构建,因此该情况不会存在。方法:根据题目描述,如果可以使用除法,就很简单。但是要求不能使用。假设:left[i] = A[0]*

2020-08-22 10:28:09 241

原创 JZ8青蛙跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。描述此题和斐波拉契数列做法一样。也将用三个方法来解决,从入门到会做。考察知识:递归,记忆化搜索,动态规划和动态规划的空间优化。难度:一星题解方法一:递归题目分析,这是一道经典的递推题目,你可以想如果青蛙当前在第n级台阶上,那它上一步是在哪里呢?显然,由于它可以跳1级台阶或者2级台阶,所以它上一步必定在第n-1,或者第n-2级台阶,也就是说它跳上n级台阶的跳法数是跳上

2020-08-21 22:02:07 181

原创 JZ7斐波那契数列(四种解法)| 图文详解

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39此题是非常经典的入门题了。我记得第一次遇到此题是在课堂上,老师拿来讲“递归”的(哈哈哈)。同样的类型的题还有兔子繁殖的问题。大同小异。此题将用三个方法来解决,从入门到会做。考察知识:递归,记忆化搜索,动态规划和动态规划的空间优化。难度:一星方法一:递归题目分析,斐波那契数列公式为:f[n] = f[n-1] + f[n-2], 初始值f[0]=0, f[1]=

2020-08-21 16:36:14 3334

原创 JZ5用两个栈实现队列

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型当插入时,直接插入 stack1当弹出时,当 stack2 不为空,弹出 stack2 栈顶元素,如果 stack2 为空,将 stack1 中的全部数逐个出栈入栈 stack2,再弹出 stack2 栈顶元素import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer&g

2020-08-21 16:02:02 201

原创 JZ57二叉树的下一个结点

题解题目描述:给你一颗二叉树的一个结点,返回中序遍历顺序中这个结点的下一结点。二叉树不仅有左右孩子指针,还有指向父亲结点的指针。Q1:首先问你一个问题,如果这道题出现在笔试题中,你会用什么方法做?如果出现在面试题中呢?A1:我想你肯定有点疑惑,同一道题为什么还分出现在笔试题中还是面试题中呢?很显然,笔试题中只要能过就好,设计的算法丑点,慢点也无所畏,不一定需要最优解法,当然前提是能够通过。而面试中就不一样了,显然面试官希望听到最优解法。方法一:暴力解法(还原二叉树)分析既然给了二叉树的某个结点

2020-08-21 15:37:27 207

原创 JZ3从尾到头打印链表

一、非递归分析listNode 是链表,只能从头遍历到尾,但是输出却要求从尾到头,这是典型的"先进后出",我们可以想到栈!ArrayList 中有个方法是 add(index,value),可以指定 index 位置插入 value 值所以我们在遍历 listNode 的同时将每个遇到的值插入到 list 的 0 位置,最后输出 listNode 即可得到逆序链表代码import java.util.*;public class Solution { public ArrayLis

2020-08-21 10:41:31 220

原创 数组中重复的数字

在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。二、哈希表分析利用 HashSet 解决,从头到尾扫描数组,每次扫描到一个数,判断当前数是否存在 HashSet 中,如果存在,则重复,对 duplication 赋值返回,否则将该数加入到 HashSet 中代码impor

2020-08-18 14:48:27 199

原创 2021届内推--网易java笔试--求最多分解为几个素数

题目:输入一组正整数,求解最多可以分解为几个素数例:输入:3 5 7输出:6例:输入:1 1 1输出:0因为3不能再分,5可以分为2+3,7可以分为2+2+3,一共6个。如果在平时可能10分钟就想出来写出来了。在笔试的时候还是太紧张了,想了半天才想到被素数迷惑了,实际上跟素数没多大关系。思路:任何数都是奇数或者偶数,所以这个数一定是n个2相加,如果是奇数,其中一个2换成3就行了,这样一想通就很简单了。只要这个数除以2就行了。比如3/2 = 1,5/2 = 2,7/2 = 3一共就是

2020-08-12 16:29:54 296

原创 冒泡,选择,堆排序

冒泡,选择,堆排序十大排序算法冒泡排序执行流程冒泡排序优化一冒泡排序优化二复杂度与稳定性复杂度稳定性选择排序复杂度与稳定性堆排序功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片生成一个适合你的列表设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入十大排序算法冒泡排序冒泡排序也叫做起泡排序。执行流程① 从头开始比较每一对相

2020-07-20 22:22:40 190

转载 MySQL常见面试题

MySQL常见面试题事务四大特性事务隔离级别索引相关MySQL数据库的四类索引:数据库三范式:脏读、幻读、不可重复读存储引擎 MyISAM 和 InnoDB区别:CHAR和VARCHAR的区别:Mysql中的锁类型存储过程delete、drop、truncate区别事务四大特性原子性:不可分割的操作单元,事务中所有操作,要么全部成功;要么撤回到执行事务之前的状态一致性:如果在执行事务之前数据库是一致的,那么在执行事务之后数据库也还是一致的;隔离性:事务操作之间彼此独立和透明互不影响。事务独立运行。

2020-07-14 15:26:15 427

原创 用Navicat运行一个比较大的.sql文件时报错:[ERR] 2006 - MySQL server has gone away

用Navicat运行一个比较大的.sql文件时报错:[Err] 2006 - MySQL server has gone away当遇到如下问题时:[ERR] 2006 - MySQL server has gone away说明你的SQL语句太大了:稍微难以测试和验证,但是MySQL使用最大数据包站站点进行服务器和客户端之间的通信。如果语句包含大字段,则可能由于SQL语句的大小,而被中止。我们可以通过语句查看一下允许的最大包大小:show global variables like ‘max_all

2020-07-10 13:38:09 759

原创 JVM运行时数据区内部结构

Java内存空间

2020-07-06 21:18:07 526

原创 02 jvm类加载子系统

jvm类加载子系统JVM细节版架构图类加载子系统作用类加载子系统功能细分加载模块链接模块分为三块,即验证、准备、解析验证准备解析初始化模块类加载器分类JVM细节版架构图类加载子系统作用类加载子系统负责从文件系统或者网络中加载class文件,class文件在文件开头有特定的文件标识即16进制CA FE BA BE;加载后的Class类信息存放于一块成为方法区的内存空间。除了类信息之外,方法区还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的

2020-07-03 16:09:07 189

转载 列举几个Java中Collection类库中的常用类

Collection类库中的常用类Java中的集合框架是指一系列存储数据的接口和类,这些类和接口都位于java.util包中使用集合框架可以解决复杂的数据存储问题,Java中内置了丰富的集合框架List接口、类关系图ArrayList用法类似于数组,且其容量可按需要动态调整,亦被称为动态数组LinkedList表示链表的操作类,它同时实现了List和Queue接口。它的优点在于向集合中插入、删除元素时效率比较高,特别是可以直接对集合的首部和尾部元素进行插入和删除操作,LinkedList

2020-06-24 16:37:01 377

原创 01.JVM简介

01.JVM简介计算机系统当中JVM所处的位置Java一次编译,到处运行Java代码的执行流程JVM体系结构概览栈的指令集架构和寄存器的指令集架构jvm生命周期1.启动2.执行3.退出计算机系统当中JVM所处的位置JVM是运行在操作系统之上的,并没有和硬件有直接的交互JVM属于系统虚拟机Java一次编译,到处运行Java代码的执行流程第一次编译:把源文件编译成字节码文件.class第二次编译:字节码文件中的字节码指令编译(JIT编译器)成机器指令JVM体系结构概览1.方法区和堆区是

2020-06-24 16:21:30 224

转载 【intellij idea】 project structure

项目的左侧面板项目设置->ProjectProject Settings -> ModulesSources面板Paths面板dependencies面板Project Settings - > LibrariesProject Settings - > FacetsProject Settings -> artifacts关于添加依赖包可以在Libraries标签页中增加架包,也可以在对应的module里添加架包。前者可以将架包集中在一起

2020-06-22 12:16:21 325

原创 图解动态数组的时间复杂度

分析动态数组的时间复杂度一级目录一级目录平均情况下只需要挪动大概1/2的元素,所以平均复杂度为O(n/2) //从数组中删除index位置的元素,返回删除的元素 public E remove(int index){ if(index < 0 || index >= size){ throw new IllegalArgumentException("remove failed. Index is illegal

2020-06-11 17:36:14 700

原创 如何在写CSDN博客时,进行段落首行缩进

如何在写CSDN博客时,进行段落首行缩进段落首行缩进首行 能缩进四分之一个汉字大小。首行 能缩进二分之一个汉字大小。首行 能缩进一个汉字大小。&emsp;&ensp;&nbsp;注意:后面分号是英文格式。...

2020-06-11 14:09:08 818 1

原创 JZ20包含min函数的栈

文章目录JZ20包含min函数的栈思路方法一方法二JZ20包含min函数的栈题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。注意:保证测试中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。思路看到这个问题, 我们最开始可能会想, 添加一个成员变量用于保存最小元素, 每次压栈时如果压栈元素比当前最小元素更小, 就更新最小元素.但是这样会有一个问题, 如果最小元素被弹出了呢, 如何获得下一个最小元素呢? 分析到这

2020-06-10 20:41:11 226

转载 开发岗校招求职攻略

1 前言投递了简历、通过了笔试,最终要面对的就是面试,一般技术岗的面试至少有三轮,包括电话面试、远程面试、现场面试等不同形式。有些公司的面试甚至达到了四到五轮之多,可见公司对面试的重视程度。可以说面试对求职者是否能够拿到offer起了决定性的作用,因此我们一定要对面试着重准备。下面我就对如何准备面试进行详细的介绍。2 匹配简历一般公司会在正式面试前几天通知大家,这个时候的第一件事是查看自己的简历是否与投递的公司和岗位完全对口。我们前面曾经说过国企、银行、互联网企业侧重的求职者能力是不同的,我们要仔细排

2020-06-09 16:14:28 511

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除