摘要: 一、题目 1、审题 2、分析 给出一个整形数组,输出比左右元素值大的数值的下标。若左边或右边没有元素,则视为左或右边 为负无穷大。 二、解答 1、思路: 方法一、 直接顺序遍历数组,判断是否比左右元素值大。 方法二、 所求元素即为一个顶点。 其实不用专门判断比左边元素大。直接用 if 判断即可 方法 阅读全文
posted @ 2018-10-13 20:00 skillking2 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 一、题目 1、审题 2、分析 给出两个单向链表,如果两个链表用重叠部分,输出重叠节点的第一个节点,否则输出 null; 二、解答 1、思路: 方法一、 将两个链表按照尾部进行对齐,在开始遍历链表,查找是否存在重叠节点。 ①、计算两个链表长度; ②、将长的链表向后移动,使得两链表尾部对齐; ③、开始查 阅读全文
posted @ 2018-10-13 17:38 skillking2 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 一、题目 1、审题 2、分析 设计一个 minStack,使其有 pop、push、top、getMin 功能,且 getMin 的检索时间为常数。 二、解答 1、思路: 采用一个 Stack 进行实现。 ①、采用变量 min 记录站中的最小值。 ②、若入栈元素 p >= min,则 P 入栈。否则 阅读全文
posted @ 2018-10-13 17:04 skillking2 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 一、题目 1、审题 2、分析 一个可能有重复元素的整形数组绕一个未知元素翻转后,求新数组的最小元素。 二、解答 1、思路: 方法一、 同上一题; 只是需要考虑判断重复的元素是否被翻转到了尾部,此时 end-- 即可。 方法二、 直接采用线性方法进行查找; 阅读全文
posted @ 2018-10-13 16:11 skillking2 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 一、题目 1、审题 2、分析 一个有序整数数组翻转成两段增序数组后,求出其中的最小的元素。 二、解答 1、思路: 方法一、 采用二分法求出最小元素。 ①、若 nums[start] < nums[end] ,则数组已经有序;返回 nums[start]; ②、若 nums[start] < nums 阅读全文
posted @ 2018-10-13 15:51 skillking2 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 一、题目 1、审题 2、分析 求一个整数数组中的连续子串的最大乘积。 二、解答 1、思路: ①、遍历数组,采用三个变量进行记录。 maxCurProduct:包含当前下标的数组元素时的最大乘积。 minCurProduct: 包含当前下标的数组元素时的最小乘积。 product: 当前为止的最大乘积 阅读全文
posted @ 2018-10-13 12:00 skillking2 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 一、题目 1、审题 2、分析 给出一句话,将其中的单词进行翻转,且每个单词间隔一个空格。 二、解答 1、思路: ①、通过正则表达式将句子根据连续的空格(一个或多个)进行切割,获得一个单词数组 arr; ②、 将 arr 转成 List, 在通过 Collections 进行翻转。 ③、通过 Stri 阅读全文
posted @ 2018-10-13 11:25 skillking2 阅读(103) 评论(0) 推荐(0) 编辑