自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2020-04-23-蚂蚁金服面试

与平常不一样,这次刚开始就感觉怪怪的,而且是电话面试。部门:蚂蚁金服,做大数据服务先做了俩题:1、写个全排列:如 acdf的全排列,我用的回溯法写的。2、链表1->2->3->4->5如果从给定一个节点,比如3,将之前的节点放到链表末尾。3->4->5->1->2问答:1、操作系统:i/o复用?2、数据库事务?3、java怎么实...

2020-04-23 22:40:36 363

原创 2020-04-21-美团一面复盘

时长70min,美团的深度审问。开局自我介绍,撑了2min。然后看项目,问相关的知识点:Spring:1、怎么理解的Spring2、FactoryBean和BeanFactory区别?3、知道什么工厂?4、Spring两个特征?5、AOP,IOC。实现AOP的两种方式?Spring AOP的动态代理主要有两种方式实现,JDK动态代理和cglib动态代理。介绍下?6、事务的回滚什么...

2020-04-21 23:06:04 270

原创 2020-04-20-从起点到终点城市的最小花费

题目描述有N个城市,每个城市有传送门,城市i传送门通往城市a[i],当位于城市i,每次可以执行下列三个之一操作:花费A,从i到a[i]如果a[i] >1,可以花费B,将a[i]减小1如果a[i] <N,可以花费C,将a[i]增加1问从城市1,传送到N,最小花费?输入:第一行 N,A,B,CN是城市个数第2行 N个数字 表示a[1]~a[n]输出:最小花费案例 :...

2020-04-20 18:37:26 1036

原创 2020-4-20-快手面试

java原子类?java多线程包?一个请求怎么到服务器的? 协议?为什么用echartechart怎么渲染的?js function?mybatis 一个查询怎么执行的?

2020-04-20 18:22:27 373

原创 2020-04-18-京东笔试复盘

类型选择30道,都是计算机基础。。。。编程题俩1、给定6组平面的长宽,问能否组成长方体。如:输入:1345 25842584 6832584 1345683 1345683 13452584 683每行表示每个长方形的长或宽输出:POSSIBLE表示可以组成思路自己想了老半天没想出好法子。就想着,能找出几种长方形,如果种类数超过3,肯定不行。如果等于三种,长方...

2020-04-18 23:50:59 153

原创 leecode-path-sum

题目描述给定一个二叉树和一个值sum,判断是否有从根节点到叶子节点的节点值之和等于sum的路径,例如:给出如下的二叉树,sum=22,5↵ / ↵ 4 8↵ / / ↵ 11 13 4↵ / / ↵ 7 2 5 1返回true,因为存在一条路...

2020-04-18 17:38:05 160

原创 LeeCode116-populating-next-right-pointers-in-each-node

题目描述格雷码是一种二进制编码系统,如果任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code)。给定一个非负整数n,表示代码的位数,打印格雷码的序列。格雷码序列必须以0开头。例如:给定n=2,返回[0,1,3,2]. 格雷码的序列为:00 - 0↵01 - 1↵11 - 3↵10 - 2注意:对于一个给定的n,格雷码的序列不一定是唯一的,例如:根据题目描述...

2020-04-18 16:44:06 104

原创 LeetCode96-unique-binary-search-trees

题目描述给定一个值n,能构建出多少不同的值包含1…n的二叉搜索树(BST)?例如给定 n = 3, 有五种不同的二叉搜索树(BST)1 3 3 2 1↵ / / / ↵ 3 2 1 1 3 2↵ / / ...

2020-04-18 15:58:23 132

原创 LeetCode87-scramble-string

题目描述题目给出一个字符串s1,我们可以用递归的方法将字符串分成两个非空的子串来将s1表示成一个二叉树下面是s1=“great”的一种二叉树的表现形式:great↵ / ↵ gr eat↵ / / ↵g r e at↵ / ↵ a t将字符串乱序的方法是:选择任意的非叶子节点,交换它的两个孩子节点。例如:如果...

2020-04-18 13:36:02 181

原创 LeetCode80-remove-duplicates-from-sorted-array-ii

题目描述继续思考题目"Remove Duplicates":如果数组中元素最多允许重复两次呢?例如:给出有序数组 A =[1,1,1,2,2,3],你给出的函数应该返回length =5, A 变为[1,1,2,2,3].java代码public class Solution { public int removeDuplicates(int[] A) { ...

2020-04-18 10:35:28 142

原创 Leecode78 word-search

题目描述给出一个二维字符数组和一个单词,判断单词是否在数组中出现,单词由相邻单元格的字母连接而成,相邻单元指的是上下左右相邻。同一单元格的字母不能多次使用。例如:给出的字符数组=[↵ [“ABCE”],↵ [“SFCS”],↵ [“ADEE”]↵]单词 =“ABCCED”, -> 返回 true,单词 =“SEE”, ->返回 true,单词 =“ABCB”, -...

2020-04-17 16:55:46 314

原创 LeetCode81-search-in-rotated-sorted-array-ii

题目描述继续思考题目 “Search in Rotated Sorted Array”:如果数组种允许有重复元素怎么办?会影响时间复杂度吗?是怎样影响时间复杂度的,为什么?编写一个函数判断给定目标值是否在数组中。分析与Leecode33 search-in-rotated-sorted-array类似。不同的是如果A[mid] = A[start],无法判断属于左边或者右边。ja...

2020-04-17 12:01:57 154

原创 Leecode86 partition-list

题目描述给出一个链表和一个值x,以x为参照将链表划分成两部分,使所有小于x的节点都位于大于或等于x的节点之前。两个部分之内的节点之间要保持的原始相对顺序。例如:给出1->4->3->2->5->2和x = 3,返回1->2->2->4->3->5.分析tnl代码实现/** * Definition for sing...

2020-04-17 11:09:04 130

原创 2020-4-16-美团笔试

5道算法题,俩小时1、奖学金人数n个学生,m个科目。已知每个学生的分数。给学生发单科奖学金,取每科最高分的同学(可能并列,都发)发奖学金。问一共有多少同学得到了奖学金?分析这个全通过了,思路比较简单,统计每科最高分,给分数为最高的同学发奖。 public static int meituan1(){ Scanner sc = new Scanner(System.i...

2020-04-16 23:59:37 527 3

原创 LeetCode82-remove-duplicates-from-sorted-list-ii

题目描述给出一个排好序的链表,删除链表中的所有重复出现的元素,只保留原链表中只出现一次的元素。例如:给出的链表为1->2->3->3->4->4->5, 返回1->2->5.给出的链表为1->1->1->2->3, 返回2->3.代码实现/** * Definition for singly-linked...

2020-04-16 18:29:23 118

原创 LeetCode83 remove-duplicates-from-sorted-list

题目描述删除给出链表中的重复元素,使链表中的所有元素都只出现一次例如:给出的链表为1->1->2,返回1->2.给出的链表为1->1->2->3->3,返回1->2->3.分析如 1 1 1 2 3 3,使用cur指针,遍历链表,如果下一个节点元素和本节点元素相同,将下一节点删去,cur不移动。如果下一个节点元素和本节点元素不...

2020-04-16 17:14:10 112

原创 LeetCode90 subsets-ii

题目描述给出一个可能包含重复元素的整数集合S,返回该整数集合的所有子集。注意:你给出的子集中的元素要按非递增的顺序排列给出的解集中不能包含重复的子集例如:如果S =[1,2,2], 给出的解集应该是:[↵ [2],↵ [1],↵ [1,2,2],↵ [2,2],↵ [1,2],↵ []↵]分析与LeetCode78 subsets很类似,但是要考虑重复的情况。法1...

2020-04-16 16:49:22 116

原创 LeetCode78 subsets1

题目描述现在有一个没有重复元素的整数集合S,求S的所有子集注意:你给出的子集中的元素必须按非递增的顺序排列给出的解集中不能出现重复的元素例如:如果S=[1,2,3], 给出的解集应为:[↵ [3],↵ [1],↵ [2],↵ [1,2,3],↵ [1,3],↵ [2,3],↵ [1,2],↵ []↵]分析每个元素都要选择加入不加入集合的机会。所以可以使用回溯法...

2020-04-16 11:44:42 102

原创 Leecode85 maximal-rectangle

题目描述给出一个只包含0和1的二维矩阵,找出最大的全部元素都是1的长方形区域,返回该区域的面积分析可以借用 Leecode84 largest-rectangle-in-histogram。按行计算,计算从第0行到第i行,每一列连续的1个数,如果有0就归零。这相当于从第0行到第i行的高度。计算每行可以达到的最大面积。代码实现import java.util.Stack;publ...

2020-04-15 22:36:31 144

原创 Leecode84 largest-rectangle-in-histogram

题目描述给出n个数字,代表直方图的条高,直方图每一条的宽度为1,请计算直方图中最大矩形的面积上图是每条宽度为1, 高度 =[2,1,5,6,2,3].的直方图图中的阴影部分是该直方图中面积最大的矩形,面积为10个单位例如:给出的高度 =[2,1,5,6,2,3],返回10.分析使用栈结构,数组存储下标,元素递增压栈。遇到不是递增的情况,说明栈顶元素的右边界出现了。此时弹出...

2020-04-15 21:40:38 139

原创 Leecode75 sort-colors

题目描述现在有一个包含n个物体的数组,其中物体颜色为颜色为红色、白色或蓝色,请对这个数组进行排序,让相同颜色的物体相邻,颜色的顺序为红色,白色,蓝色。我们用0,1,2分别代表颜色红,白,蓝注意:本题要求你不能使用排序库函数扩展:一个非常直接的解法是两步的计数排序的算法首先:遍历一遍数组,记录0,1,2的数量,然后重写这个数组,先将0写入,再将1写入,再将2写入你能给出一个只用一步,...

2020-04-15 17:06:57 98

原创 2020-4-13-阿里笔试

给一时辰,撸两个代码题。1 、投票有n个小动物(1~n号)参与投票。再给定n个数,代表每个小动物崇拜情况。第i个数代表第i个动物的崇拜情况。如果是0,代表它不崇拜任何动物,只能给自己投票。如果不是0,假设是j,那么它投票时可能给自己投,可能跟随j投。请解出每个小动物最高可能的票数。案例:40 1 2 1第一行4,表示一共四个动物。第二行,1号动物无崇拜,2号崇拜1,3号崇拜2,4号崇...

2020-04-15 10:58:40 398

原创 2020-04-11-快手笔试

一面是四个编程题。1、匹配括号给定一字符串,只有’(’,’)’,’+’,’-’,’*’,’/’,数字0~9组成。实现统计:匹配的正反括号数目,剩余正反括号数目。如(1+2+3+4+/)((())-+((//*)返回 4,2,04:表示匹配的括号对数是42:表示剩余的左括号数是20:表示剩余的右括号数是0分析使用栈结构,遇到左括号压栈,遇到右括号:如果栈不为空出栈。代码实现...

2020-04-12 22:46:20 361 1

原创 SQl server 远程访问

1、安装好数据库,用账户登录(如sa),右键查看属性。点击连接,查看远程服务器选项是否勾选了。2、打开SQL Server 配置管理器,打开TCP/IP协议。3、重启sql server 各种服务。4、更改端口对应的防火墙。新建入站规则,规则类型选择:端口(sql server 端口)。剩下一堆傻瓜操作。5、使用Netapp可以进行隧道穿透,就可以远程访问了。6、远程连接时,...

2020-04-11 15:42:54 477

原创 Leecode72 edit-distance

题目描述给定两个单词word1和word2,请计算将word1转换为word2至少需要多少步操作。你可以对一个单词执行以下3种操作:a)在单词中插入一个字符b)删除单词中的一个字符c)替换单词中的一个字符分析使用动态规划算法。状态表示 :dp [i][j]:word1前i个字符子串变成word2前j个字符子串需要的步数。初始化:一方为空,变成另一方,只需要插入所有另一方的字符...

2020-04-10 22:15:58 111

原创 Leecode76 minimum-window-substring

题目描述给出两个字符串S和T,要求在O(n)的时间复杂度内在S中找出最短的包含T中所有字符的子串。例如:S =“ADOBECODEBANC”T =“ABC”找出的最短子串为"BANC".注意:如果S中没有包含T中所有字符的子串,返回空字符串 “”;满足条件的子串可能有很多,但是题目保证满足条件的最短的子串唯一。java 代码public class Solution { ...

2020-04-10 20:39:57 169

原创 Leecode57 insert-interval

题目描述给定一组不重叠的时间区间,在时间区间中插入一个新的时间区间(如果有重叠的话就合并区间)。这些时间区间初始是根据它们的开始时间排序的。示例1:给定时间区间[1,3],[6,9],在这两个时间区间中插入时间区间[2,5],并将它与原有的时间区间合并,变成[1,5],[6,9].示例2:给定时间区间[1,2],[3,5],[6,7],[8,10],[12,16],在这些时间区间中插入...

2020-04-10 17:04:12 136

原创 Leecode73 set-matrix-zeroes

题目描述给定一个m*n的矩阵,如果有一个元素是0,就把该元素所在的行和列上的元素全置为0,要求使用原地算法。拓展:你的算法有使用额外的空间吗?一种比较直接的算法是利用O(m,n)的空间,但是这不是一个好的解法使用简单的改进可以在O(m+n)的空间解决这个问题,但是还不是最佳的解法你能在常量级的空间复杂度内解决这个问题吗?分析假设第0行与第0列都没有0,那么第0行和第0列可以标志其...

2020-04-10 12:20:38 98

原创 Leecode56 merge-intervals

题目描述给出一组区间,请合并所有重叠的区间。例如,给出[1,3],[2,6],[8,10],[15,18],返回[1,6],[8,10],[15,18].java 代码/** * Definition for an interval. * public class Interval { * int start; * int end; * Interva...

2020-04-10 11:06:36 94

原创 Leecode65 valid-number

题目描述判断给出的字符串是否是数字一些例子:“0”=>true" 0.1 "=>true“abc”=>false“1 a”=>false“2e10”=>true注意:这道题故意陈述的比较模糊,在实现一个需求之前,你应该预先收集所有的要求。java 代码public class Solution { public boolean isNum...

2020-04-09 16:44:01 98

原创 Leecode70 climbing-stairs

题目描述你在爬楼梯,需要n步才能爬到楼梯顶部每次你只能向上爬1步或者2步。有多少种方法可以爬到楼梯顶部?分析抽象成斐波那契数列问题。先初始化前两个元素,再用递推关系。java 代码public class Solution { public int climbStairs(int n) { if(n <= 1){return 1;} ...

2020-04-09 11:22:14 92

原创 Leecode69 sqrtx

题目描述实现函数 int sqrt(int x).计算并返回x的平方根分析可以通过数列的概念,将平方和归纳到一种数列。找到数列中,第一个大于x的数,下标就可以求出结果。java 代码public class Solution { public int sqrt(int x) { if(x <= 0){ return 0; ...

2020-04-09 11:05:42 106

原创 Leecode64 minimum-path-sum

题目描述给定一个由非负整数填充的m x n的二维数组,现在要从二维数组的左上角走到右下角,请找出路径上的所有数字之和最小的路径。注意:你每次只能向下或向右移动。分析题目类似于Leecode62 unique-pathsjava 代码public class Solution { public int minPathSum(int[][] grid) { in...

2020-04-09 09:44:07 107

原创 Leecode63 unique-paths2

题目描述继续思考题目"Unique Paths":一个机器人在m×n大小的地图的左上角(起点,下图中的标记“start"的位置)。机器人每次向下或向右移动。如果在图中加入了一些障碍,有多少不同的路径?分别用0和1代表空区域和障碍例如下图表示有一个障碍在3*3的图中央。[↵ [0,0,0],↵ [0,1,0],↵ [0,0,0]↵]有2条不同的路径机器人要到达地图的右下角。(终...

2020-04-08 22:01:21 125

原创 Leecode62 unique-paths

题目描述一个机器人在m×n大小的地图的左上角(起点,下图中的标记“start"的位置)。机器人每次向下或向右移动。机器人要到达地图的右下角。(终点,下图中的标记“Finish"的位置)。可以有多少种不同的路径从起点走到终点?上图是3×7大小的地图,有多少不同的路径?备注:m和n小于等于100分析建模成二维数组m*n,(0,0)位置表示start,使用动态规划算法求解,dp[i][...

2020-04-08 21:44:20 125

原创 Leecode60 permutation-sequence

题目描述集合[1,2,3,…,n]一共有n!种不同的排列按字典序列出所有的排列并且给这些排列标上序号我们就会得到以下的序列(以n=3为例)“123”“132”“213”“231”“312”“321”现在给出n和k,请返回第k个排列注意:n在1到9之间分析这是一个排列问题,可以通过回溯法进行遍历。对序列进行计数。java 代码public class Soluti...

2020-04-08 20:54:31 80

原创 Leecode61 rotate-list

题目描述将给定的链表向右转动k个位置,k是非负数。例如:给定1->2->3->4->5->null , k=2,返回4->5->1->2->3->null。分析题意是从链表的左侧,循环添加到左侧。k可能很大。发现,如果k和链表长度一致,那么相当于没有转动任何元素,所以有周期的概念,可以用取余概念,等效转动。如果转动的k小...

2020-04-08 16:36:55 132

原创 Leecode53 maximum-subarray

题目描述请计算给出的数组(至少含有一个数字)中具有最大和的子数组(子数组要求在原数组中连续)例如:给出的数组为[−2,1,−3,4,−1,2,1,−5,4],子数组[−2,1,−3,4,−1,2,1,−5,4],具有最大的和:6.拓展:如果你已经提出了O(n)的解决方法,请尝试使用分治算法来解决这道题。这道题分治的解法更巧妙一些。分析用curMax记录从遍历位置(包括),向左连续的...

2020-04-08 14:11:29 116

原创 Leecode50 powx-n

题目描述请实现函数 pow(x, n).分析一个数x的正数n次方,先考虑x和n都是正数情况。如3^7计算,x=3,n=7。当n为奇数的时候,可以拆成 3*3 ^6,即拿出一个3,先乘起来。当n是偶数时,如3^6,可以写成 3 ^(2*3),或者(3 ^2) ^3,即 n除以2,x平方。最后考虑x的正负,对计算没有影响。考虑n的正负,如果为负数,可以先转化成正数情况。java 代...

2020-04-08 11:54:16 89

原创 Leecode49 anagrams

题目描述给出一个字符串数组,返回所有互为“换位词(anagrams)”的字符串的组合。(换位词就是包含相同字母,但字母顺序可能不同的字符串)备注:所有的输入都是小写字母例如:输入[“tea”,“and”,“ate”,“eat”,“den”]返回[↵ [“ate”, “eat”,“tea”],↵ [“and”,“den”]↵]分析互为换位词有一个共同点,他们包含相同字母,它们的...

2020-04-08 11:15:45 224

空空如也

空空如也

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

TA关注的人

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