「C++小例子」全排列【001】
海轰Pro
共 3639字,需浏览 8分钟
· 2021-04-25
Part1题目
全排列
用1、2、3三个数字
可以组成多少个没有重复数字的三位数?
打印出所有的可能
Part2解答
参考Demo - C++
#include <iostream>
#include <vector>
using namespace std;
vector<int> temp; // 临时保存已经选择的数
// backtracking:回溯
void backtracking(vector<vector<int> > &res, vector<bool> &isused, vector<int> &nums)
{
// 当temp数组的长度等于期望数组的长度时 return
if (temp.size() == nums.size())
{
res.push_back(temp);
return;
}
// 遍历所有选择
for (int i = 0; i < nums.size(); ++i)
{
// 对没有选择过的元素再进行抉择:选择它|不选择它
if (isused[i])
{
// 选择该元素 选择后标记该元素为已选择 同时进行下一元素的抉择
temp.push_back(nums[i]);
isused[i] = false;
backtracking(res, isused, nums);
// 回复原来状态:未选择 同时从temp中pop出
isused[i] = true;
temp.pop_back();
}
}
}
// permute:返回nums数组构成的全排列
vector<vector<int> > permute(vector<int> &nums)
{
vector<vector<int> > res;
vector<bool> isused(nums.size(), true);
backtracking(res, isused, nums);
return res;
}
// 主函数
int main()
{
// 初始化nums=[1,2,3]
vector<int> nums;
for (int i = 1; i <= 3; ++i)
{
nums.push_back(i);
}
// 结果返回值
vector<vector<int> > ans;
ans = permute(nums);
// 打印结果
for (int i = 0; i < ans.size(); ++i)
{
for (int j = 0; j < ans[i].size(); ++j)
{
cout << ans[i][j] << " ";
}
cout << endl;
}
return 0;
}
运行结果
运行环境
Visual Studio Code
Part3结语
难度:medium
欢迎小伙伴们提供其余的解法
这里海轰提供的代码仅供参考,希望对您有所帮助,如有错误欢迎小伙伴指正~
我是海轰ଘ(੭ˊᵕˋ)੭,如果您觉得写得可以的话,请点个赞吧
谢谢支持❤️
评论
让扩散模型听话的小秘籍?CAN:通过操控权重来控制条件生成模型,图像生成效率大升级!
↑ 点击蓝字 关注极市平台作者丨科技猛兽编辑丨极市平台极市导读 本文提出的 CAN 模型 (Condition-Aware Neural Network) 是一种对图像生成模型添加控制的方法。CAN 可以通过动态操纵神经网络的权重来控制图像生成过程。作者在 ImageNet 图像
极市平台
0
如此“爬虫”?代码全省了
大家好,我是章北海Jina AI 开源了 RAG 数据处理中的关键组件:“网页数据爬取” ——Reader,目前 3300+ Star⭐️项目地址:https://github.com/jina-ai/readerJina AI Reader 特征:免费使用开源延迟大概 2S 内,复杂的内容可能需要
机器学习算法与Python实战
0
特斯拉中国Model Y、S、X全系降价;盒马否认侯毅张勇出价20亿美元联手买下盒马;瑞幸回应“不招聘上海人”
特斯拉中国Model Y、S、X全系降价特斯拉中国Model Y售价降至24.99万元人民币,MODEL Y长续航版售价降至29.09万元人民币。特斯拉中国 MODEL Y高性能版售价降至35.49万元人民币。特斯拉中国MODEL S售价降至68.49万元人民币。特斯拉中国 MODEL S PLAI
亿欧网
0
互联网晚报 | 央视发文谈调休:原则是最小干预;特斯拉中国全系降价;二手交易平台现大量转卖SU7创始车型订单
央视发文谈调休:原则是最小干预“五一其实只放一天”近日冲上热搜,再度引发“假期该不该调休”的热议。如何调休,也有讲究。一个基本原则是,“最小干预,尽量不打乱人们的正常生活节奏”。我国现行法定节假日总天数为11天,周末休息104天,带薪休假5~15天,总假期天数在国际上处于中等偏上水平。专家指出,“之
产品刘
0
低空经济新标杆小龙头
公众号改版,及时收到文章推送需要给公众号加星。大家可以点击页面上方蓝色字【京北夜光】,进入公众号首页,点右上角“...”,点下方“设为星标”。坚持复盘总结分享不容易,点右上角点个在看并分享到朋友圈,看完顺手点个点赞和在看,算是个认可,感谢。在看互动:凡是点了点赞和在看且分享本文到朋友圈的读者,进入公
IT局
77
轻松学习C#:百度行驶证C++离线SDK接入详解
效果 先看最终效果SDK 拿到完整包如图,687M解压后看看内容发现有个readme.txt,那就先看看内容1:用vs2015打开sln工程,最好用vs2015 comunity版本,可微软官网下载。2:sdk的doc目录有pdf接口文档。3:工程总入口main.cpp、请参考示例实现您的功能。4:
DotNet NB
9
炸裂了!小仙女协商肉偿租房,震碎了三观!
2024年热点吃瓜(更新至4月)https://pan.xunlei.com/s/VNvUwSmX927mlt-7jr9Vnmp5A1?pwd=43gv#
逆锋起笔
10
【大模型】RAG全链路的关键模块解析
原文:https://zhuanlan.zhihu.com/p/682253496整理:青稞AI1. 背景介绍RAG(Retrieval Augmented Generation,检索增强生成 )方法是指结合了基于检索的模型和生成模型的能力,以提高生成文本的质量和相关性。该方法是Meta在2020年
机器学习算法与Python实战
32