求n个元素的全排列的所有解可以用减治法:每次拎出一个数做前缀,对剩下的元素再求全排列,直至只剩一个元素。代码源自《算法分析与设计(王晓东)》,复杂度O(n2) 1 //输出k~m的所有全排列 2 void perm(int k,int m) 3 { 4 if(k==m) 5 { 6 ...
分类:
其他好文 时间:
2015-10-09 07:02:37
阅读次数:
269
题目:给定一个没有重复元素的数组A,定义A上的MaxTree如下:MaxTree的根节点为A中最大的数,根节点的左子树为数组中最大数左边部分的MaxTree,右子树为数组中最大数右边部分的MaxTree。请根据给定的数组A,设计一个算法构造这个数组的MaxTree。思路:如果能够确定每个节点的父亲节...
分类:
编程语言 时间:
2015-09-30 19:29:29
阅读次数:
200
原题链接在这里:https://leetcode.com/problems/combination-sum-ii/本题与Combination Sum非常相似,不同就在于本题不可以重复使用元素。其实只是递归时,start的参数更改为i+1即可。Note: 1. 即使本题不可以使用重复元素但也需要小心...
分类:
其他好文 时间:
2015-09-29 01:04:38
阅读次数:
162
维护一个动态序列。给定前k的数的一个排列σ(1)...σ(k),表示第k个人占据当前序列的第σ(k)位置。考虑将第k+1个人插入到原序列的第p位(其中p≤ k),后面的人向后各移动一位。线段树的叶子节点表示静态序列此处位置对应当前动态序列的位置序号。从后往前不断寻找合适位置再更新即可。对于重复元素只...
分类:
其他好文 时间:
2015-09-28 18:52:16
阅读次数:
221
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-------Set接口特点:不允许存储重复元素,无序集合:存储取出没有顺序(不保证迭代顺序),没有索引Set接口方法,和父接口Collection抽象方法完全一样Set接口存储对象并迭代,找实现类HashSet集合HashSet如何..
分类:
编程语言 时间:
2015-09-25 03:57:02
阅读次数:
262
集合转载于:http://blog.csdn.net/longshengguoji/article/details/8546286使用set或multiset之前,必须加入头文件Set、multiset都是集合类,差别在与set中不允许有重复元素,multiset中允许有重复元素。sets和mult...
分类:
其他好文 时间:
2015-09-24 12:43:45
阅读次数:
327
直接上代码my @array = ( 'a', 'b', 'c', 'a', 'd', 1, 2, 5, 1, 5 ); my %count; my @uniq_times = grep { ++$count{ $_ } < 2; } @array;
分类:
编程语言 时间:
2015-09-24 12:39:09
阅读次数:
189
原创文章,欢迎转载。转载请注明:关东升的博客 Swift字典表示一种非常复杂的集合,允许按照某个键来访问元素。字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合。键集合是不能有重复元素的...
分类:
编程语言 时间:
2015-09-23 12:08:46
阅读次数:
157
原创文章,欢迎转载。转载请注明:关东升的博客 Swift字典表示一种非常复杂的集合,允许按照某个键来访问元素。字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合。键集合是不能有重复元素的,而值集合是可以重复的,键和值是成对出现的。字典声明与初始化 Swift字典类型是Dictionary,也是一个泛型集合。 在声明一个Dictionary类型的时候可以使用下面的...
分类:
编程语言 时间:
2015-09-23 11:50:00
阅读次数:
149
什么是集合?Java官网API文档里这样定义和描述的: public interface Collectionextends Iterable 集合表示一组对象,每一个对象称为元素。集合可以是包含重复元素的,也可以是各个元素互不相同。它既可以是无序的也可以是有序。JDK并没有提供它的直接实现...
分类:
编程语言 时间:
2015-09-21 00:07:28
阅读次数:
169