博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode题解(十六)
阅读量:4664 次
发布时间:2019-06-09

本文共 1468 字,大约阅读时间需要 4 分钟。

44

----------------------------------------------------------------分割线------------------------------------------------------------------------------------

46、Permutations

题目:

题目意思是给定n个不同的数,打印出所有的排列。

这一篇博客简单介绍了如何使用STL生成数组的全排列,代码如下:

1 class Solution { 2 public: 3     vector
> permute(vector
& nums) { 4 vector
> ret; 5 6 if (nums.empty()) 7 return ret; 8 9 sort(nums.begin(), nums.end());10 ret.push_back(nums);11 while (next_permutation(nums.begin(), nums.end()))12 ret.push_back(nums);13 14 return ret;15 }16 };

为了提升自己的算法能力,当然不能只会使用STL,而是需要理解其怎样实现这个算法,并且动手自己写出来,这样对自己的能力才会有很大的提升。

 ---------------------------------------------------------------分割线----------------------------------------------------------------------

47、Permutations II

这一题和46题的区别就是数组中的数可能有相同的数。其实方法都和46题一样,代码如下:

1 class Solution { 2 public: 3     vector
> permuteUnique(vector
& nums) { 4 vector
> ret; 5 6 if (nums.empty()) 7 return ret; 8 9 sort(nums.begin(), nums.end());10 ret.push_back(nums);11 while (next_permutation(nums.begin(), nums.end()))12 ret.push_back(nums);13 14 return ret;15 }16 };

 

转载于:https://www.cnblogs.com/LCCRNblog/p/5148639.html

你可能感兴趣的文章
Mac下安装ionic和cordova,并生成iOS项目
查看>>
caffe介绍
查看>>
MongoDB副本集和分片模式安装
查看>>
Spring Mvc Url和参数名称忽略大小写
查看>>
Python之常用模块学习(一)
查看>>
CSS------如何让大小不一样的div顶部对齐
查看>>
SOCKET.IO 前后端使用
查看>>
CodeForces 122G Lucky Array(一脸懵逼的树状数组)
查看>>
【开发实例】C#调用SAPI实现语音合成的两种方法
查看>>
Django实战(15):Django实现RESTful web service
查看>>
离散实验二
查看>>
使用sharepoint里Open with explorer功能
查看>>
通过模糊来弱化背景
查看>>
The Fourth Day
查看>>
NSString 比较(转)
查看>>
[hdu3631]背包或中途相遇法
查看>>
模块化开发(seajs)
查看>>
HDU1848 Fibonacci again and again 博弈 SG函数
查看>>
iOS-自建iPa应用分发平台
查看>>
12月2日站立会议
查看>>