3 SvenLL

尚未进行身份认证

我会放弃自己的傲慢,努力成为像你一样温暖的人,为自己无意识间犯过的所有错做出补偿。 B站:眼泪在嘴巴里打转

等级
TA的排名 29w+

leetcode:最大正方形

暴力解法时间复杂度过高,可能会过不去测试动态规划:class Solution { public int maximalSquare(char[][] matrix) { int maxSide = 0; if (matrix == null || matrix.length == 0 || matrix[0].length == 0) { return maxSide; } int rows = matri

2020-05-08 22:57:40

leetcode:三数之和(攻略难度:mid)

时间复杂度必须小于O(n^3)把数组按大小排序,一次性查找两边,往中间遍历class Solution { public List<List<Integer>> threeSum(int[] nums) { Arrays.sort(nums); int n = nums.length; List<List&l...

2020-05-07 22:10:54

leetcode:旅行票价(攻略难度:mid)

动态规划,往前回滚class Solution { public int mincostTickets(int[] days, int[] costs) { int len = days.length; int min = days[0]; int max = days[len-1]; int[] dp = new int[...

2020-05-06 21:50:13

leetcode:跳跃游戏Ⅱ(攻略难度:困难)

今天才思敏捷,竟然一道困难题都做出来了,虽然来来回回改了好几次。使用贪心算法:class Solution { public int jump(int[] nums) { int pos = 0; int len = nums[0]; int max = 0; int ret = 0; int result...

2020-05-04 21:46:24

leetcode:一道清华考研专业课算法题

贪心算法:class Solution { public int maxSubArray(int[] nums) { int Ret = nums[0],sum =0; for(int i =0;i<nums.length;i++){ sum+=nums[i]; Ret = Ret>sum?Re...

2020-05-03 23:38:46

leetcode:那些年我遇到过的编程题017:有效括号的嵌套深度

leetcode:那些年我遇到过的编程题017:有效括号的嵌套深度我首先想到的是动态规划,能不能把括号拆分一下,分别划分A,B两个序列。设定一个栈,没找到一对()就把她们划分到A,或者B中。public int[] maxDepthAfterSplit(String seq) { if (seq == null || seq.equals("")) return new int[0]...

2020-04-02 00:10:36

leetcode:那些年我遇到过的编程题016:圆圈中最后剩下的数字

leetcode:那些年我遇到过的编程题016:圆圈中最后剩下的数字经典数据结构之约瑟夫环问题,可惜我知道却想不起来了,只记得用环形链表

2020-03-31 00:32:11

leetcode:那些年我遇到过的编程题015:地图分析

leetcode:那些年我遇到过的编程题015:地图分析这道题,跟原来有一道求岛屿最大面积的题类似,适用于BFS。class Solution { public int maxDistance(int[][] grid) { int N = grid.length; int distance = -1; Queue<int[]&g...

2020-03-29 23:31:08

java面试题:int和Integer的区别

int和Integer的区别1、Integer是int的包装类,int则是java的一种基本数据类型2、Integer变量必须实例化后才能使用,而int变量不需要3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值4、Integer的默认值是null,int的默认值是0另外int i = 126;Integer ...

2020-03-28 18:38:54

leetcode:那些年我遇到过的编程题014:单词的压缩编码

leetcode:那些年我遇到过的编程题014:单词的压缩编码根据我对题意的理解,每次索引都是在遇到第一个“#”后停止,也就是说,判断能不能缩小字符串长度的标准在于前边的单词中的字母能不能完全包含后边单词的字母,而且要恰好在末尾结束。class Solution { public int minimumLengthEncoding(String[] words) { i...

2020-03-28 17:37:37

复习java控制台获取用户输入

Scanner类的简单用法:next():从光标处第一个非空字符开始读取,知道下一个空格处\nnextInt():nextLine():从光标开始输入处到回车处,可以录入空格。next() 与 nextLine() 区别next():一定要读取到有效字符后才可以结束输入。对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。只有输入有效字符后才将其后面输入的空白作为...

2020-03-27 23:51:50

leetcode:那些年我遇到过的编程题013:卡牌分组

leetcode:那些年我遇到过的编程题013:卡牌分组分析题意,是让我们判断数组是否能被分成多个小数组,每个小数组元素大于等于2,且元素数目相同,每个元素值相同。首先想到了使用map,储存每一个卡牌的值还有它的数目,最后选出数目最少的卡牌,确定每个分组元素的最大值。然后遍历[2,max],判断是否存在一个元素数能被所有元素的数目整除。class Solution { public ...

2020-03-27 12:13:20

leetcode:那些年我遇到过的编程题012:车的可用捕获量

leetcode:那些年我遇到过的编程题012:车的可用捕获量今天的题目是真的长,看了好一会儿才明白题干的意思,根据分析可知,最后可捕获卒的数目在[0,4]之间,无非便是找出R的位置,再探测一下四个方向距离R最近的P,B或者是没有。class Solution { public int numRookCaptures(char[][] board) { int res =...

2020-03-26 19:32:18

面试官问什么是面向对象?你要怎么回答?从整体到局部,从思想到语言。

面向对象:面向对象是相对于面向过程来说的,面向过程强调将解决一个问题的流程弄清楚,写出每一步的具体步骤,,通过函数把这些步骤一一实现。而面向对象是模型化的,通常将问题抽象化,把问题当作对象,通过对象的属性和行为来解决问题。面向对象与面向过程的特点:面向过程性能比面向对象好,但不易维护,不易复用,不易扩展。面向对象由于要调用类的对象,性能比面向过程差,但是易维护,易复用,易扩展,因为对象...

2020-03-25 23:39:12

leetcode:那些年我遇到过的编程题011:三维型体的表面积

leetcode:那些年我遇到过的编程题011:三维型体的表面积在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。请你返回最终形体的表面积。示例 1:输入:[[2]]输出:10示例 2:输入:[[1,2],[3,4]]输出:34示例 3:输入:[[1,0],[0,...

2020-03-25 19:03:39

leetcode:那些年我遇到过的编程题010:按摩师

leetcode:那些年我遇到过的编程题010:按摩师审完题目,大概就是让我们在一个数组中找出来互不相临的数相加的最大值。虽然想到了用动态规划,但是最后代码怎么都写不出来…class Solution { int max = 0 public int massage(int[] nums) { Set<Integer> list = new HashS...

2020-03-24 14:17:41

leetcode:那些年我遇到过的编程题009:链表的中间结点

leetcode:那些年我遇到过的编程题009:链表的中间结点先遍历链表计算节点数目,再将节点移至中间节点/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * ...

2020-03-23 18:35:57

leetcode:那些年我遇到过的编程题008:使数组唯一的最小增量

leetcode:那些年我遇到过的编程题008:使数组唯一的最小增量首先我们要理清我们的思路,最终目的是让数组中每一个值都是互不相等的,那么我们首先要弄清楚如何判断一个数组中的是不是每个值都不相同,这里我选择用hashset来判断。解法:class Solution { public int minIncrementForUnique(int[] A) { int m...

2020-03-22 17:28:57

leetcode:那些年我遇到过的编程题007:水壶问题

leetcode:那些年我遇到过的编程题007:水壶问题实话实说,想了还挺久,思路停留在把每一个操作转化为计算机语言,没有找到最后判定false的点,那么思路一定是有问题的或者错误的,前边的也没有意义了。看了下答案,一种是用广度优先搜索,要用到hashset和queue队列,一种是用了数学定理。广度优先搜索:class Solution { private LinkedList&lt...

2020-03-21 19:07:57

leetcode:那些年我遇到过的编程题006:最小的k个数

leetcode:那些年我遇到过的编程题006:最小的k个数方法一:首先在一个循环里比较得出arr[]的最小值,然后放进一个新的数组中去,把这个最小值和它对应的序号放进hashmap中,防止重复提取同一个最小值,进行k轮,这个方法我想完就觉得很麻烦,果不其然,测试还可以,但提交就超时了class Solution { public int[] getLeastNumbers(int[...

2020-03-20 16:08:50

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。