上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 26 下一页
摘要: 一、题目 1、审题 2、分析 给出一个整数数组,数组本来为有序的且可能存在重复整数。 现在将数组后面未知个连续的元素移动到数组前面,形成新的数组。此时,判断 target 是否存在于该新数组中。 二、解答 1、思路: 方法一、 ①、由于数组分成了两部分有序的数字组合,先利用二分查找找到中间数字集合的 阅读全文
posted @ 2018-09-23 22:46 skillking2 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 一、题目 1、审题 2、分析 给出一个有序的整数数组,统计总共有多少个元素,其中同一个整数最多只能存在两个,并将统计的所有整数放在数组前头。(只能借助一个额外的空间) 二、解答 1、思路: 方法一、 ①、若数组长度 len <= 2, 则直接返回数组长度。 ②、len > 2时,从下标 i = 2  阅读全文
posted @ 2018-09-23 21:28 skillking2 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 一、题目 1、审题 2、 分析 给出一个二维的字符数组 board,一个字符串 word;在 board 中可以向左右、上下延伸,判断 word 是否可以在延伸中找到。其中 board 中每个字符只能用一次。 二、解答 1、思路: 运用递归的思想进行实现。 开辟一个二维数组的空间用于记录该字符是否被 阅读全文
posted @ 2018-09-23 11:56 skillking2 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 递归,回溯,DFS,BFS的理解和模板: https://blog.csdn.net/fightforyourdream/article/details/12866861 阅读全文
posted @ 2018-09-23 11:18 skillking2 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 一、题目 1、审题 2、分析 给出一个整数数组,求其所有的不重复的子数组集合。 二、解答 1、思路: 方法一、采用回溯法。 ①、通过确定子集合数组的元素个数进行元素的字典排列。返回的是字典序的有序序列 ②、直接将子集合全部返回并进行回溯。 方法二、直接创建一个 List 存放所有子集,遍历数组; 每 阅读全文
posted @ 2018-09-23 10:38 skillking2 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 一、题目 1、审题 2、分析 给出整数 n,整数 k,求 1~n 之间的 k 个数字的所有组成。 二、解答 1、思路: 方法一、运用 DFS 方法。 方法二、f(n, k) = f(n-1, k-1) + f(n-1, k) 即: k 个数字中选了 数字 n 和 k 个数字中未选取数字 n 两种情况 阅读全文
posted @ 2018-09-22 23:11 skillking2 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 一、题目 1、审题 2、分析 给出两个字符串 s 与 t,求 t 中所有字符在 s 中都出现的最短长度的 s 的一个子串。若 s 中不存在这样的子串,返回空。 二、解答 1、思路: ①、用 HashMap 存储 t 的字符,其中 key 为 字符, value 为出现的次数。 ②、遍历 s 中的字符 阅读全文
posted @ 2018-09-22 22:23 skillking2 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 一、题目 1、审题 2、分析 荷兰国旗问题。用 0,1,2 代表颜色,将数组中的所有的 0 排在前面, 1 排在中间,2排在后面。 二、解答 1、思路: ①、选用三个指针。 left 与 current 指向下标为 0 的元素; right 指向数组末尾。 ②、遍历数组,当 current <= r 阅读全文
posted @ 2018-09-22 09:56 skillking2 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 一、题目 1、审题 2、分析 一个二维数组,其中从左到右为升序,且下面一行数值均比上面的大,求所给数值 target 是否存在于数组中。 二、解答 1、思路: 方法一、 先对二维数组的每一行的第一列进行二分查找,在对该列所在的行进行二分查找。 方法二、 将二维数组看成一个有序的一维数组进行一次二分法 阅读全文
posted @ 2018-09-21 22:51 skillking2 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 一、题目 1、审题 2、分析 给出一个 mXn 二维矩阵,若 [i][j] 值为 0, 则矩阵第 i 行,第 j 列化为 0。 二、解答 1、思路: 方法一、 矩阵行长为 m,列长为 n,新建两个大小为 m、n的一维数组,用于记录该行、列是否为 0,最终,遍历数组给矩阵赋值即可。 使用额外空间 O( 阅读全文
posted @ 2018-09-21 17:42 skillking2 阅读(144) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 26 下一页