![](https://img-blog.csdnimg.cn/20210628214327154.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
我要进厂
文章平均质量分 71
此专栏记录从垃圾外包走向大厂的途径,我将用我亲身经历来告诉我自己,我不是笨,只是不够努力,本专栏下有算法+技术两个专栏。
三少说
预则立,不预则废!
展开
-
leetcode刷题记录
热题top10011. 盛最多水的容器原题地址给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最原创 2022-02-28 22:40:36 · 2099 阅读 · 0 评论 -
LeetCode5.最长回文子串(Java实现)
一:题目描述原题链接5. 最长回文子串给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “ac”输出:“a”提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成二:解题思路(官方解法)如果 s = a 那么最原创 2022-02-03 14:20:19 · 858 阅读 · 0 评论 -
LeetCode4.寻找两个正序数组的中位数(Java代码)
LeetCode4.寻找两个正序数组的中位数一:题目描述4. 寻找两个正序数组的中位数难度困难4868给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]原创 2022-01-11 20:25:08 · 478 阅读 · 1 评论 -
我要进大厂-算法-第九天(暴力递归~动态规划)
阅读该文章预计90分钟文章目录动态规划一:初步认识动态规划1.1:介绍递归和动态规划二:求阶乘2.1:思路讲解2.2:Java代码三:汉诺塔问题3.1:题目介绍3.2:思路讲解3.3:Java代码四:打印一个字符串的所有子序列,包括空串4.1:思路解析4.2:Java代码(递归)五:打印一个字符串的全排列5.1:思路解析5.2:Java代码动态规划一:初步认识动态规划1.1:介绍递归和动态规划暴力递归:把问题转化为规模缩小了的同类问题的子问题有明确的不需要继续进行递归的条件(base cas原创 2021-08-22 23:06:42 · 232 阅读 · 0 评论 -
我要进大厂-算法-第八天(贪心~好难呀)
阅读该文章预计90分钟文章目录一:前缀树1.1:举个例子说明前缀树1.2:作用1.3: Java代码二:贪心2.1:前提知识一:前缀树1.1:举个例子说明前缀树举个例子:"abc" 加到头节点如果头节点没有走向a的路,就创建一个a,依次建立a、b、c“bce" 加到头节点如果头节点没有走向b的路,就创建b,如果没有b-c的路,依次加入c、e”abd“ 加入到头节点头节点有走向a的路,那么来到a,有a-》b,来到b,没有b-d,则b的下面创建一个d总的来说,依次看看有没有头节点到原创 2021-08-20 22:14:21 · 240 阅读 · 0 评论 -
我要进大厂-算法-第七天(Hash所有问题)
阅读该文章预计20分钟文章目录一:设计RandomPool结构1.1:题目描述1.2:思路讲解1.3:Java代码二:岛屿问题2.1:问题描述2.2: 思路讲解2.3:Java代码一:设计RandomPool结构1.1:题目描述【题目】 设计一种结构,在该结构中有如下三个功能:insert(key):将某个key加入到该结构,做到不重复加入。delete(key):将原本在结构中的某个key移除。getRandom():等概率随机返回结构中的任何一个key。【要求】 Insert、del原创 2021-08-19 19:15:29 · 173 阅读 · 0 评论 -
我要进大厂-算法-第六天(二叉树所有问题,拿来吧你)
阅读该文章预计60分钟文章目录一:二叉树的遍历1.1:题目描述1.2:思路分析1.3:Java代码二:找到二叉树的后继节点2.1:题目描述2.2:思路讲解2.3:Java代码三:二叉树的序列化和反序列化3.1:题目介绍3.2:思路讲解3.3:Java代码四:判断是否是平衡二叉树4.1:思路讲解4.2:Java代码五:是否是搜索二叉树5.1:思路讲解5.2:Java代码六:是否是完全二叉树6.1:思路讲解6.2:Java代码七:完全二叉树的节点个数7.1:思路讲解7.2:Java代码一:二叉树的遍历1.原创 2021-08-19 12:14:07 · 172 阅读 · 0 评论 -
我要进大厂-算法-第五天(链表热点题)
阅读该文章预计30分钟文章目录一:复制含有随机指针节点的链表1.1:题目描述1.2:思路分析1.2.1:空间复杂度O(N)1.2.2:空间复杂度O(1)1.3:Java代码二:两个单链表相交的节点2.1:题目描述2.2:题目分析2.3:Java代码一:复制含有随机指针节点的链表1.1:题目描述【题目】 一种特殊的链表节点类描述如下: public static class Node { private int value; private Node next;原创 2021-08-11 20:32:54 · 104 阅读 · 0 评论 -
我要进大厂-算法-第四天(拿下链表)
阅读该文章需要60分钟文章目录一:旋转正方形矩阵1.1:题目描述1.2:详细思路1.3:Java代码二:反转单向链表、反转双向链表2.1:题目描述2.2:思路讲解2.3:Java代码三: 之字形打印矩阵3.1:题目描述3.2:思路讲解3.3:Java代码四:行和列都排好序,找数4.1:题目描述4.2:思路讲解4.3:Java代码五:打印两个有序链表的公共部分5.1:题目描述5.2:思路讲解5.3:Java代码六:判断链表是否为回文结构6.1:题目描述6.2:思路如下6.3:Java代码七:放到最后一:旋原创 2021-08-04 11:16:28 · 181 阅读 · 0 评论 -
我要进大厂-算法-第三天(栈和队列拿下)
一:数组实现栈、队列前提知识:栈先进后出,队列先进先出。1.1:数组实现栈1.1.1:题目描述:用数组结构实现大小固定的队列和栈1.1.2:思路如下:用数组存进来的数用一个变量指明最后一个数的位置(尾标志)push操作放入存的数据,尾标志向后移动一位pop操作取出最后一位的数据,尾标志向前移动一位1.1.3:Java代码package xyz.fudongyang.basic.class_03.my;public class Code_01_Array_To_Stack_Que原创 2021-07-28 15:30:45 · 159 阅读 · 0 评论 -
我要进大厂-算法-第二天(热频高级排序)
阅读该文章需要花费15分钟(网-师承左程云)一.荷兰国旗问题1.1 题目描述:给定一个数组arr,和一个数num,请把小于num的数放在数组的左边,等于num的数放在数组的中间,大于num的数放在数组的右边。要求额外空间复杂度O(1),时间复杂度O(N)1.2 思路先分析下,分析过程如下空间复杂度为1,则只能使用临时变量,不能开辟内存空间了,也就是不能申请辅助数组了。时间复杂度on,也就是只能遍历一遍数组。emmmm让我们学习下这个思路既然不能分配辅助数组,那我们的原数组要分为三原创 2021-07-15 16:19:14 · 240 阅读 · 0 评论 -
策略模式工作中的运用
一:前景提要前景:工作快一年了,近期的需求需要改动之前写的代码,新增加功能,看到一处代码,非常冗余,好多if else 判断,并且里面的逻辑是可重用的、可统一管理的。这是谁写的垃圾代码,于是我打开annotate with git blame发现是我去年写的代码。咳咳,情有可原,当时业务没那么复杂(其实当时不会策略模式)代码业务场景:判断多种控件上下游关系,校验控件参数。业务代码:/** * 遍历 nodeDataArray 初始化数据 * * @param原创 2021-07-14 17:18:34 · 339 阅读 · 2 评论 -
我要进大厂-算法-第一天(排序算法全家桶)
我要进大厂-算法-第一天阅读该文章需要花费15分钟(网-师承左程云)一:认识基本概念1.1 时间复杂度常数时间的操作:一个操作如果和数据量没有关系,每次都是 固定时间内完成的操作,叫做常数操作。时间复杂度为一个算法流程中,常数操作数量的指标。常用O (读作big O)来表示。具体来说,在常数操作数量的表达式中, 只要高阶项,不要低阶项,也不要高阶项的系数,剩下的部分 如果记为f(N),那么时间复杂度为O(f(N))。评价一个算法流程的好坏,先看时间复杂度的指标,然后再分 析不同数据样本下的实际原创 2021-06-28 22:52:35 · 276 阅读 · 1 评论