邻位专题

算法:全排列问题——邻位互换法

邻位互换法,只要你在学全排列就不可不学的一个及其有趣的算法。 例题 洛谷1706 全排列问题 题目描述 按照邻位互换法的顺序输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字。 输入格式 一个整数n。 输出格式 由1~n组成的所有不重复的数字序列,每行一个序列。 每个数字保留 5个场宽。 输入样例 3 输出样例 1 2

leetcode:217. 存在重复元素(先排序再比较邻位)

一、题目:   函数原型: bool containsDuplicate(int* nums, int numsSize) 参数分析: nums是传入的数组 numsSize是传入数组的元素个数 二、思路: 根据题意,判断数组中是否存在出现两次以上的元素。可以先将数组排序(升序),那么相等的元素就会相邻,只要判断数组中是否有相邻元素相等即可。 排序方法:使用快排函数qsort(库函数)