摘要: 题目大意: 把给定的字符串按照给定的行数进行“之”字形排列,最后按行输出排列的结果。 定义一个string数组 包括numRows项,每一项都是对应图中的每一行。 阅读全文
posted @ 2016-10-09 15:11 prog123 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 写了一个爆搜,超时了,所以更改了一个方法,使用flag数组记录标志, 动态规划,类似于lcs的解法,数组flag[i][j]记录s从i到j是不是回文 首先初始化,i>=j时,flag[i][j]=true,这是因为s[i][i]是单字符的回文,当i>j时,为true,是因为有可能出现flag[2][ 阅读全文
posted @ 2016-10-02 17:22 prog123 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目大意:找到两个排序数组的中位数。 水了一发,将两个数组合并为一个数组,直接输出中位数了。(可见leetcode好像并没有对时间进行控制)。 另一种方法: 该问题换成另一种说法就是:寻找两个数组中第K小的数字,这里K=(m+n)/ 2。 首先假设数组A和B的元素个数都大于k/2,我们比较A[k/2 阅读全文
posted @ 2016-10-02 15:25 prog123 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 用c++实现单链表的逆序输出。 题目描述:在已知单链表头节点的情况下,设计算法逆置单链表并输出 方法一:采用首先将头节点指向空,让其变为尾节点,然后利用中间节点 p、q 将其后的节点一个接一个改为指向前面的节点 阅读全文
posted @ 2016-09-27 22:17 prog123 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 7. Reverse Integer (略坑:) ) 使用变量rec只是为了判断一下是否越界。 阅读全文
posted @ 2016-09-27 11:16 prog123 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 本问题是求最长不重复子串。 给出一种方法: 例如:aplsdfgsjiuk,设置一个最长子串的起始位和结束位,a为起始位,b为结束位,当遍历aplsdfg时,下一位s重复,所以可以从d为起始位置在遍历。 时间复杂度为O(n)。 阅读全文
posted @ 2016-09-27 10:47 prog123 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 第一次写的有些麻烦,不好,问题关键是默认两个链表长度相等,前面补0即可。 阅读全文
posted @ 2016-09-25 21:50 prog123 阅读(144) 评论(0) 推荐(0) 编辑
摘要: public class Solution { public int[] twoSum(int[] nums, int target) { int []sum = new int[2]; for(int i = 0; i < nums.length;i++) { for(int j = i+1; j < n... 阅读全文
posted @ 2016-09-25 21:37 prog123 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 给出一个二叉树,输出它的最大宽度和高度。 输入: 第一行一个整数n。 下面n行每行有两个数,对于第i行的两个数,代表编号为i的节点所连接的两个左右儿子的编号。如果没有某个儿子为空,则为0。 5 2 3 4 5 0 0 0 0 0 0 阅读全文
posted @ 2016-09-18 21:28 prog123 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。 时间复杂度O(n^2) 插入排序是稳定的排序方法。 阅读全文
posted @ 2016-09-07 16:32 prog123 阅读(164) 评论(0) 推荐(0) 编辑