07 2019 档案

[LeetCode]11. 盛最多水的容器(双指针)
摘要:题目 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 题解 双指针,每次将矮的那边往里移(因为面 阅读全文

posted @ 2019-07-31 22:05 coding_gaga 阅读(112) 评论(0) 推荐(0) 编辑

[LeetCode]3. 无重复字符的最长子串(滑动窗口)
摘要:题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 题解 i,j维护滑动窗口,HashMap存储字符出现过的索引,当出现记录过的字符,更新滑动窗口i边界。 时 阅读全文

posted @ 2019-07-30 20:26 coding_gaga 阅读(196) 评论(0) 推荐(0) 编辑

[设计模式]单例模式
摘要:单例模式 定义:一个类只有一个实例,并提供全局访问这个实例的接口。 用途:有一些类我们只需要一个对象实例,比如说:线程池、缓存、对话框、注册表、日志对象、充当打印机、显卡等设备驱动程序的对象。如果制造出多个实例就可能会导致一些问题的产生,比如:程序的行为异常、资源使用过量、或者不一致性的结果。 单例 阅读全文

posted @ 2019-07-29 23:01 coding_gaga 阅读(112) 评论(0) 推荐(0) 编辑

[Java并发编程之美]第2章 synchroized关键字
摘要:synchronized关键字 synchronized块是Java提供的一种原子性内置锁,每个对象都可以把它当同步锁来用。线程在进入synchronized块钱会自动获取内部锁,这时候其他线程访问同步代码块时会被阻塞挂起。 synchronized会造成很大的系统开销,尽量避免不必要的使用。 每种 阅读全文

posted @ 2019-07-29 22:19 coding_gaga 阅读(183) 评论(0) 推荐(0) 编辑

[leetCode]5. 最长回文子串(DP)
摘要:####题目 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 ####题解 dp。先初始化长度为1和长度为2的串。再依次算长度为3,4,5...。 当找到回文串时,若长度比当前记录的回文串长度大,则更新起始位置和最大长度,最终用substring返回子串。 阅读全文

posted @ 2019-07-28 22:10 coding_gaga 阅读(285) 评论(0) 推荐(0) 编辑

[深入理解JVM虚拟机]第3章-垃圾收集器、内存分配策略
摘要:垃圾收集器 判断对象是否需存活 回收堆 判断对象是否存活: 方法一:引用计数法。对象被引用一次就+1,当为0时回收对象。缺点:无法解决循环引用问题。 方法二:可达性分析算法。记录当前对象是否有和GC Roots中对象的引用链。(其中,可以作为GCRoots对象的有:虚拟机栈中引用的对象、方法去中类静 阅读全文

posted @ 2019-07-27 15:32 coding_gaga 阅读(165) 评论(0) 推荐(0) 编辑

[深入理解JVM虚拟机]第2章-Java内存区域与内存溢出异常
摘要:2.0引 Java内存区域中,栈内存和堆内存分别装什么,为什么? 栈:解决程序的运行问题,即程序如何执行,或者说如何处理数据。 堆:解决的是数据存储的问题,即数据怎么放,放在哪儿。 参考链接https://www.cnblogs.com/gdufs/p/6407432.html 2.2运行时数据区 阅读全文

posted @ 2019-07-25 17:53 coding_gaga 阅读(156) 评论(0) 推荐(0) 编辑

[LeetCode]695. 岛屿的最大面积(DFS/BFS)、200. 岛屿数量(DFS/BFS待做/并差集待做)
摘要:695. 岛屿的最大面积 题目 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。 找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。) 题解 dfs/b 阅读全文

posted @ 2019-07-24 22:21 coding_gaga 阅读(497) 评论(0) 推荐(0) 编辑

[LeetCode]415. 字符串相加
摘要:题解 是链表的两数相加的简单版:445. 两数相加 II 相关 注意StringBuilder用于字符串拼接的使用,效率较String的+高。 常用操作: 代码 阅读全文

posted @ 2019-07-21 18:03 coding_gaga 阅读(156) 评论(0) 推荐(0) 编辑

[LeetCode]114. 二叉树展开为链表
摘要:题目 给定一个二叉树,原地将它展开为链表。 题解 原地 指结果可以覆盖输入,且额外空间限制在常数级别。 对于根节点,把右子树连到左子树的最右节点,再把左子树连到根的右子树(即覆盖右子树),当前节点的左孩子赋null;然后把根节点的右子树做当前节点,继续这么处理。 画图试试即可理解原理,大概就是把一个 阅读全文

posted @ 2019-07-21 17:29 coding_gaga 阅读(115) 评论(0) 推荐(0) 编辑

[LeetCode]33. 搜索旋转排序数组(二分)
摘要:###题目 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂 阅读全文

posted @ 2019-07-21 12:31 coding_gaga 阅读(116) 评论(0) 推荐(0) 编辑

[LeetCode]92. 反转链表 II
摘要:题目 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明: 1 ≤ m ≤ n ≤ 链表长度。 题解 核心反转的部分和反转链表每k个节点是相同的。抽象为反转beg到end ,并连接l、r,即需要参数(l,beg,end,r。);pre初始化为beg,cur初始化为end,前提是保证beg 阅读全文

posted @ 2019-07-20 15:40 coding_gaga 阅读(125) 评论(0) 推荐(0) 编辑

[算法题解]矩阵元素按从小到大,逆时针排列在新矩阵中
摘要:题目 输入N N矩阵,输出逆时针排序后的矩阵。 题解 在一维临时数组排序,然后控制矩阵左上角和右下角,一圈圈写入新的矩阵。 代码 阅读全文

posted @ 2019-07-19 00:05 coding_gaga 阅读(301) 评论(0) 推荐(0) 编辑

[程序员代码面试指南]总结(待更新)
摘要:栈 栈的基本操作 题目:栈的压入、弹出序列[剑指Offer] 题解:理解题目即可。 辅助栈:作用:1.翻转 2. 与栈配合,同序保存栈每一状态对应的东西。 题目:两个栈实现队列 [剑指Offer][思路] 题解:入队push:正常;出队pop:从辅助栈pop。(pop时若辅助栈为空,则把栈顶元素依次 阅读全文

posted @ 2019-07-16 22:33 coding_gaga 阅读(249) 评论(2) 推荐(1) 编辑

[LeetCode]69. x 的平方根(数学,二分)
摘要:题目 https://leetcode cn.com/problems/sqrtx 题解 方法一:牛顿迭代法 按点斜式求出直线方程(即过点Xn,f(Xn)),然后求出直线与x轴交点,即为Xn+1; 求a的平方根即求f(x)=x^2 a的正数解,由牛顿迭代法新一轮解Xn+1=(Xn+a/Xn)/2。 阅读全文

posted @ 2019-07-14 22:33 coding_gaga 阅读(187) 评论(0) 推荐(0) 编辑

[计算机网络]TCP/IP协议-运输层
摘要:TCP/IP体系结构 TCP/IP四层协议| 五层协议|协议|作用 : :|: :|: :|: : 应用层 | 应用层 | HTTP超文本传输协议、FTP文件传输协议| 运输层 | 运输层 | TCP(面向连接的,可靠的)、UDP(无连接的,不保证数据传输可靠性) | 两台主机的进程之间提供通用的数 阅读全文

posted @ 2019-07-13 22:36 coding_gaga 阅读(686) 评论(0) 推荐(0) 编辑

[剑指Offer]33-根据后序序列判断是否能组成BST
摘要:题目 如题。 题解 从序列第一个大于根节点的值往后都是右子树,判断右子树是否都大于根节点。 然后递归判断左右子树是否是BST 代码 class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public Tr 阅读全文

posted @ 2019-07-11 23:59 coding_gaga 阅读(175) 评论(0) 推荐(0) 编辑

[剑指Offer]17-打印从1到最大的n位数(递归)
摘要:题目 如题,输入n,则从1打印至99. 题解 考虑到n比较大会有大数问题,所以使用字符数组存储数。 由题可用递归求n位全排列,即为所得。 具体地,用临时字符数组用来存答案,每次递归填好一位,都填好后输出。 代码 import java.util.Scanner; public class Main 阅读全文

posted @ 2019-07-10 22:47 coding_gaga 阅读(261) 评论(0) 推荐(0) 编辑

[剑指Offer]56-数组中数字出现的次数(位运算)
摘要:题目一 数组中只出现一次的数字 题目 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字 题解 异或。 先考虑:数组中只有一个数字只出现了一次,其他数字都出现了两次,怎么找出这个数字?全部 异或 ,结果即为所求数字。 那么,原问题可以将原数组分成两个集合,两个 阅读全文

posted @ 2019-07-10 12:26 coding_gaga 阅读(215) 评论(0) 推荐(0) 编辑

[剑指Offer]18-题目一:删除链表的节点 题目二:删除链表中重复节点
摘要:题目一 题目 O(1)时间复杂度删除给定链表节点。 题解 用待删除节点后一个节点的值覆盖待删除节点值,更新链接关系。 注意链表只有一个节点;删除尾结点;删除头节点的处理。 代码 题目二(再练习) 题目 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 阅读全文

posted @ 2019-07-09 17:24 coding_gaga 阅读(132) 评论(0) 推荐(0) 编辑

[剑指Offer]61-扑克牌中的顺子
摘要:题目 “红心A,黑桃3,小王,大王,方片5”,大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的5张牌就可以变成“1,2,3,4,5”(大小王分别看作2和4),“So Lucky!”。LL决定去买体育彩票啦。 现在,要求你使用这幅牌模拟上面的过程,然后告诉我们LL的运气如 阅读全文

posted @ 2019-07-09 10:56 coding_gaga 阅读(157) 评论(0) 推荐(0) 编辑

[剑指Offer]30-包含min函数的栈
摘要:题目 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 题解 辅助栈记录当前最小值。 代码 import java.util.Stack; public class Main { private static Stack s=new Stack( 阅读全文

posted @ 2019-07-09 10:18 coding_gaga 阅读(89) 评论(0) 推荐(0) 编辑

[剑指Offer]栈的压入、弹出序列
摘要:题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是 阅读全文

posted @ 2019-07-08 23:51 coding_gaga 阅读(103) 评论(0) 推荐(0) 编辑

[剑指Offer]55-题目一:二叉树的深度 题目二:平衡二叉树
摘要:题目一 题目 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 题解 递归。 代码 题目二 题目 判断二叉树是不是平衡二叉树。注意,此处定义的平衡二叉树:递归地,左右两个子树相差 阅读全文

posted @ 2019-07-08 21:21 coding_gaga 阅读(362) 评论(0) 推荐(0) 编辑

[剑指Offer]26-树的子结构
摘要:题意 判断一棵树(参数二)是不是另一棵树(参数一)的子结构。 题解 递归第一棵树,找两棵树中值一样的节点。若找到后,用另一个函数判断以相同值得节点为根的树2是不是树1的子结构。 代码 class TreeNode{ double val; TreeNode lChild; TreeNode rChi 阅读全文

posted @ 2019-07-07 22:20 coding_gaga 阅读(106) 评论(0) 推荐(0) 编辑

[剑指Offer]49-丑数
摘要:题目 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 题解 把丑数按顺序依次算好放在数组中, ; 此外更新当前的三个指针multi2Idx、multi3Idx、mu 阅读全文

posted @ 2019-07-07 22:14 coding_gaga 阅读(147) 评论(0) 推荐(0) 编辑

[剑指Offer]66-构建乘积数组
摘要:题目 给定一个数组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想象成用矩阵构建,B[i]为矩阵中第i行所有元素乘积,构建befI和afte 阅读全文

posted @ 2019-07-06 13:56 coding_gaga 阅读(94) 评论(0) 推荐(0) 编辑

[剑指Offer]65-不用加减乘除做加法
摘要:题目 写一个函数,求两个整数之和,要求在函数体内不得使用+、 、 、/四则运算符号。 题解 用位运算模拟加法的三步: 无进位加法:异或运算。 进位:与运算再左移一位。 直到进位为0结束。 代码 public class Main { public static void main(String[] 阅读全文

posted @ 2019-07-06 13:50 coding_gaga 阅读(99) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示