会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
32ddd
安安心心搞技术
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
4
5
6
7
8
9
10
11
12
13
下一页
2016年6月11日
Search for a range, 在一个可能有重复元素的有序序列里找到指定元素的起始和结束位置
摘要: 问题描述:给定一个有序序列,找到指定元素的起始和结束位置。例如:1234555,5,起始4结束6 算法分析:其实就是一个二分查找的利用。但是特殊就在不是找到某个元素,而是找到下标。也就是在nums[mid]=target时,要分析mid的左右元素。
阅读全文
posted @ 2016-06-11 14:35 32ddd
阅读(357)
评论(0)
推荐(0)
2016年6月9日
Find Min In Rotated Sorted Array2,包含重复数字的反转序列找最小值。
摘要: 1 public int findMin(int[] nums) 2 { 3 return findMin(nums, 0, nums.length - 1); 4 } 5 public int findMin(int[] nums, int left, int right) 6 { 7 int mid = (left...
阅读全文
posted @ 2016-06-09 15:39 32ddd
阅读(193)
评论(0)
推荐(0)
Find Min In Rotated Sorted Array,寻找反转序列中最小的元素。
摘要: 问题描述:寻找反转序列中最小的元素。 算法分析:和寻找某个数是一个道理,还是利用二分查找,总体上分两种情况。nums[left]<=nums[mid],else。但是,在截取子序列的时候,有可能得到一个顺序序列。如34512,截取后得到12,此时要对这种情况判断,因为是顺序的,所以,最左边的元素就是
阅读全文
posted @ 2016-06-09 15:37 32ddd
阅读(225)
评论(0)
推荐(0)
Search In Rotated SortedArray2, 有重复数据的反转序列。例如13111.
摘要: 问题描述:反转序列,但是有重复的元素,例如序列13111。 算法思路:如果元素有重复,那么left-mid,就不一定是有序的了,所以不能利用二分搜索,二分搜索必须是局部有序。针对有序序列的反转,如果有重复数据的话,那么必然是nums[left]=nums[mid]=nums[right],增加对这种
阅读全文
posted @ 2016-06-09 14:52 32ddd
阅读(175)
评论(0)
推荐(0)
2016年6月8日
Search in Rotated Sorted Array, 查找反转有序序列。利用二分查找的思想。反转序列。
摘要: 问题描述:一个有序序列经过反转,得到一个新的序列,查找新序列的某个元素。12345->45123。 算法思想:利用二分查找的思想,都是把要找的目标元素限制在一个小范围的有序序列中。这个题和二分查找的区别是,序列经过mid拆分后,是一个非连续的序列。特别要注意target的上下限问题。因为是非连续,所
阅读全文
posted @ 2016-06-08 21:51 32ddd
阅读(322)
评论(0)
推荐(0)
LongestValidParentheses, 求最长合法括号子串长度-----同类问题ValidParentheses,GenerateParentheses
摘要: 问题描述:求括号字符串中最长合法子串长度。例如:()((),返回2,而不是4. 算法分析:还是利用栈,和判断合法括号对是一样的。
阅读全文
posted @ 2016-06-08 19:41 32ddd
阅读(209)
评论(0)
推荐(0)
2016年6月6日
PermutationSequence,求第k个全排列
摘要: 问题描述:给定一个数组,数组里面元素不重复,求第k个全排列。 算法分析:这道题就是用到取商取模运算。
阅读全文
posted @ 2016-06-06 20:18 32ddd
阅读(310)
评论(0)
推荐(0)
PermutationsUnique,求全排列,去重
摘要: 问题描述:给定一个数组,数组里面有重复元素,求全排列。 算法分析:和上一道题一样,只不过要去重。
阅读全文
posted @ 2016-06-06 20:16 32ddd
阅读(338)
评论(0)
推荐(0)
Permutations,全排列
摘要: 问题描述:给定一个数组,数字中数字不重复,求所有全排列。 算法分析:可以用交换递归法,也可以用插入法。 递归法:例如,123,先把1和1交换,然后递归全排列2和3,然后再把1和1换回来。1和2交换,全排列1和3,再把1和2交换回来。1和3交换,全排列2和1,再把1和3交换回来。 插入法:例如123,
阅读全文
posted @ 2016-06-06 20:12 32ddd
阅读(259)
评论(0)
推荐(0)
NextPermutation,寻找下一个全排列
摘要: 问题描述:给定一个数组是一个全排列,寻找下一个全排列。例如123->132, 321->123, 115->151. 算法分析:从后往前寻找顺序,找到后从往前寻找第一个大于当前元素,即第一个逆序,然后元素交换,重新sort当前元素后面的元素。如果都是逆序,reverse数组。
阅读全文
posted @ 2016-06-06 20:03 32ddd
阅读(591)
评论(0)
推荐(0)
上一页
1
···
4
5
6
7
8
9
10
11
12
13
下一页
公告
点击右上角即可分享