摘要: 数组元素分割,就是说把整个的数组分成两部分,前半部分具有哪些性质,后半部分具有哪些性质。题目描述:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。这里对数组的分块,很容易的就联想到了快速排序中对数组的划分,从开头找一个具有... 阅读全文
posted @ 2015-09-02 16:48 stemon 阅读(1030) 评论(0) 推荐(0) 编辑
摘要: 题目描述:统计一个数字在排序数组中出现的次数。这个问题的初始解法就是,在排序的数组中利用折半查找,这个k之后,然后以这个为中心,分别向左右遍历,统计k出现的次数。这种方法虽然利用了折半查抄,使得定位这个元素的时间复杂度为O(logn),但是在以这个元素为中心左右查找的时候,时间复杂度又降低为了O(n... 阅读全文
posted @ 2015-09-02 14:43 stemon 阅读(635) 评论(0) 推荐(0) 编辑
摘要: 给定一个序列,判断这个序列是不是一个合法的栈序列输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列... 阅读全文
posted @ 2015-09-02 10:25 stemon 阅读(334) 评论(0) 推荐(0) 编辑