题意:在旋转过的有序数组中找到最小数,数组中可能有重复元素
思路:二分,判断是否有相等的元素,主要是二分的时候的一些细节,比如说是有序的还是rotated
代码:
public int findMin(List nums) {//solution1 O(log(N))
int min = Integer.MAX_VALUE;
int l = 0, r ...
分类:
其他好文 时间:
2015-04-18 10:10:18
阅读次数:
113
题意:在旋转的有序数组中搜索某个元素,无重复数据
思路:二分搜索,注意有旋转的区间的上下界的判断
代码:
public int search(int[] A, int target) {
return bsearch(A, target, 0, A.length - 1);
}
/**
* 二分搜索,无重复元素,判断是否为rotated
...
分类:
其他好文 时间:
2015-04-18 10:07:53
阅读次数:
122
原题
一个有N个元素的集合,其中有相同元素。
需要得到按重复元素多少排序的新集合。
{"a","b","c","c","a","c"}
得到
{"c","a","b"}
求算法
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java...
分类:
编程语言 时间:
2015-04-17 23:53:54
阅读次数:
306
类属性算法unique的作用是从输入序列中“删除”所有相邻的重复元素。该算法删除相邻的重复元素,然后重新排列输入范围内的元素,并且返回一个迭代器(容器的长度没变,只是元素顺序改变了),表示无重复的值范围得结束。在STL中unique函数是一个去重函数, unique的功能是去除相邻的重复元素(只保留...
分类:
编程语言 时间:
2015-04-16 15:40:52
阅读次数:
186
题目链接https://leetcode.com/problems/remove-duplicates-from-sorted-array/思路就是维护两个pointer,一个,i, 用于遍历整个数组,另一个,len, 用于保存当前的无重复元素的数组的最后一个positionif A[i] == A...
分类:
其他好文 时间:
2015-04-16 06:42:09
阅读次数:
118
使用set和multiset前包含头文件
set、multiset都是集合类,差别在与set中不允许有重复元素,multiset中允许有重复元素。他们都是有序集合。
std::set is an associative container(关联容器) that contains a sorted set of unique objects of type Key. Sorting is...
分类:
其他好文 时间:
2015-04-15 21:35:17
阅读次数:
208
可以利用字母的大小关系将输入的字符串中的标点符号和空格去掉(利用过滤函数)利用普通的方法Python代码如下: 1 #encoding=utf-8 2 #查找给定的字符串中的重复元素 3 4 #用于删除列表中不是字母的元素 5 def delete(alist): 6 for i in a...
分类:
其他好文 时间:
2015-04-11 13:11:05
阅读次数:
149
全排列算法是一种比较常考的算法,他的做法也比较多样。
首先我们来看看最符合我们直观思考的,思路是这样的:假如没有重复元素时,传入一个数组A,并插入到另外一个数组B中,假如B中已经包含这个元素,则跳过,否则插入数组B。我们来看看具体代码:
public static void permutation1(final String str, String buffer){
if (s...
分类:
编程语言 时间:
2015-04-09 17:33:26
阅读次数:
145
一、Set回顾
一个不包括重复元素(包括可变对象)的Collection,是一种无序的集合。Set不包含满
a.equals(b) 的元素对a和b,并且最多有一个null。
泥瓦匠的记忆宫殿:
1、不允许包含相同元素
2、判断对象是否相同,根据equals方法
二、HashSet
一个按着Hash算法来存储集合中的元素,其元素值可以是NULL。它不能保证元素的排列顺序。同样,H...
分类:
其他好文 时间:
2015-04-09 13:48:24
阅读次数:
222
集合对象是一组无序排列的可哈希的值,集合中不包含重复的值。通常用于包含成员测试、移除序列中的重复元素和数学操作运算,例如:交集、联合、差异和对称差等。
集合支持in和not in操作,len()操作,和在for循环中迭代集合成员。但由于集合是无序的,你不能为集合创建索引、切片、或者其他类似的序列行为。
集合包含可变集合(set)和不可变集合(frozenset)。set不能用于字典的键(key...
分类:
编程语言 时间:
2015-04-07 17:49:45
阅读次数:
166