上一页 1 2 3 4 5 6 7 8 ··· 16 下一页
摘要: 题目描述 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。 我的题解 阅读全文
posted @ 2020-05-13 18:38 Edwin_Xu 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例: 分析 先考虑只需要返回一个层序遍历结果而不用考虑到底是第几层。如上面只返回[3,9,20,15,7] 我们可以借助于一个队列Q: 首先把根元素放到Q中,while Q不为空时,一个个取出队 阅读全文
posted @ 2020-05-13 16:16 Edwin_Xu 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 分析: 链表反转 问题是链表的反向遍历,于是第一种方法可以将链表反转,然后遍历即可。 缺点:会破坏原来的链表顺序。 优点:O(N)的时间复杂度其 空间复杂度是O(1) ; 辅助栈 提到反向,就应该想到一种数据结构——栈, 阅读全文
posted @ 2020-05-13 13:44 Edwin_Xu 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个字符串 s,找到 s 中最长的回文子串。 中心扩展法 可能是大部分人最先想到的思路。 思路: 遍历:从中心向外扩展,得出回文串长度,取最长的。 时间复杂度: 最坏情况下(比如相同字符构成的串:aaaa),内层循环会向外判断到最近的边界, 2\ (1+2+3+···+n/2+···+ 阅读全文
posted @ 2020-05-12 17:51 Edwin_Xu 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 题目描述 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。 分析 要在常数时间内获取最小值,必定空间 阅读全文
posted @ 2020-05-12 14:17 Edwin_Xu 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 参照MOOC,使用java动态代理来实现一个简单的AOP AOP vs. OOP OOP 面向对象编程,将功能需求划分为独立的、不同的、功能完善的类,通过继承、多态等方式实现相同或者不同的行为 AOP 面向切面编程,将 通用 的需求功能从众多类中提取出来,使得众多类共享一个行为。 关系 AOP是OO 阅读全文
posted @ 2020-04-29 19:11 Edwin_Xu 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在一个长度为 n 的数组 nums 里的所有数字都在 0~n 1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 我的解法 排序 先排序,在找 性能不好 数组记录 用数据记录出现的次数 空间换时间 时间击败90% 时 阅读全文
posted @ 2020-04-29 01:49 Edwin_Xu 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 方法1:静态编码&编译(new) 最常用的就是静态编写一个类,然后new一个对象 方法2:克隆(clone) java提供克隆的手段来复制一个对象 浅克隆: 1.被复制的类需要实现Clonenable接口 2.Override clone() 对于属性中有引用类型的,需要让该引用类型也继承Clone 阅读全文
posted @ 2020-04-28 17:29 Edwin_Xu 阅读(688) 评论(0) 推荐(1) 编辑
摘要: 分析 使用两个栈:in、out in用于元素进入(入队),out用于取出元素(出队) push时,只管加入in栈即可 pop时,把in栈中的移到out,此时out栈是FIFO,出队直接弹出栈顶即可。 (需要注意的是,out为空时才从in搬过去,否则直接取即可) 实现: Stack<Integer> 阅读全文
posted @ 2020-04-27 18:37 Edwin_Xu 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 队列是先进先出,栈是后进先出 如何使用队列实现栈? 首先,需要多少个队列?一个肯定是不行的,但是两个就足够了。 分析 假设有队列 q1,q2 初始想法是利用 q2把q1反向,形成后来的在队尾,但是由于队列的方向是固定的, 不论你怎么摆弄,都不可能反向:一个队列出去的,也必定先进入另一个队列——顺序始 阅读全文
posted @ 2020-04-27 14:39 Edwin_Xu 阅读(154) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 16 下一页