
OJ题
文章平均质量分 65
JackpotDC
毕业于西安电子科技大学 / 计算机技术硕士 / BAT大厂4年Java后台程序员
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode代码分析——4. Median of Two Sorted Arrays
一道找中间数的题,两个排序好的数组 最简单粗暴的方法很容易,就是搞个排序(归并分治策略的最后一步合并两个排序好的数组?or快排?),然后找到(m+n)/2位置的数 下面这种思想认为找中间数就是找第k = (m+n)/2大的数,找两个数组合起来后第k大的数,分别看A数组和B数组中间(k/2)位置的数,小的数的左半部分可以抛弃,然后剩下的再找。。。直到第一个数组被掏空(就直接找第二个的k位置,注意原创 2016-04-14 15:37:29 · 356 阅读 · 0 评论 -
LeetCode代码分析——5. Longest Palindromic Substring
最简单粗暴的方法(也是Time Out的方法- -|||) 遍历s的每一个子数组,然后分别确定是不是回文,确实了是回文之后再确定是不是比当前记录要大 太蠢了,但是不失为一种方法。。。只不是Time Out 233333 public class Solution { public String longestPalindrome(String s) { Strin原创 2016-04-14 20:54:11 · 294 阅读 · 0 评论 -
LeetCode代码分析——6. ZigZag Conversion
按zigzag的顺序把字符串放到二维数组里,然后再按二维数组的顺序读出来 首先行数是给定的,我们需要根据行数和字符串的字符个数确定列数 1 2 3 4为一块,10/4得到块数,然后加上剩余的。。。总之就得到了列数(注意行数为1的特殊边界条件) 然后用一个布尔变量记录走的方向,向下或者向右上 向下走,走到界外就回退,然后改为右上一个 向右上走,走到界外就回退,然后改为下面一个原创 2016-04-28 18:56:43 · 359 阅读 · 0 评论 -
携程2017春招编程题——拼图(BFS模板题)
携程2017春招编程题——拼图题目解题思路基础的解决算法是BFS队列解决,但是会超时。所以需要去重。 去重要考虑格子重复的情况, 9个格子,所以拼图有9!种状态,建立visited[9!]布尔数组记录访问情况,如何判断两种状态是否相同呢,通过康托展开。 哇,这个康托展开就坑爹了,谁tm学过这个呀,搜了一下才发现原来康拓展开就是通过一个数字来表示一个序列的排列(建立了排列关系 <–> 数字的对应原创 2017-07-10 00:55:36 · 1958 阅读 · 0 评论 -
LeetCode代码分析——22. Generate Parentheses(DFS模板题)
很简单的一道问题,就是个DFS(深度优先搜索)的问题,我能想到,但是我不会。。。 所以结合本题总结下递归和DFS的解决方法。 如下图,执行的时候按从左到右的顺序,先递归执行左子树,再递归执行右子树。 代码如下:public class Solution { public List<String> generateParenthesis(int n) { List<Str原创 2017-05-05 20:36:20 · 455 阅读 · 0 评论 -
LeetCode代码分析——30. Substring with Concatenation of All Words
LeetCode代码分析——30. Substring with Concatenation of All Words You are given a string, s, and a list of words, words, that are all of the same length. Find all starting indices of substring(s) in s that...原创 2018-05-08 16:25:28 · 312 阅读 · 0 评论