当前位置: 首页 > news >正文

县电子政务办网站建设工作思路百度移动端关键词优化

县电子政务办网站建设工作思路,百度移动端关键词优化,做贸易常用的网站,新闻播报最新消息1、题目描述(全排列) 输入一个正整数n,输出1~n的全排列。 输入格式 一个正整数n。 输出格式 所有1~n的全排列,每个排列占一行。 样例输入 3 样例输出 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 算法思路 题目要求输出n的全…

1、题目描述(全排列)

输入一个正整数n,输出1~n的全排列。

输入格式

一个正整数n。

输出格式

所有1~n的全排列,每个排列占一行。

样例输入

3

样例输出

1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1

算法思路

题目要求输出n的全排列,因此我们可以使用深度优先搜索算法来解决问题。首先我们可以假设我们已经构建了一个长度为n的排列,并且我们想要把它输出。根据递归算法的设计思想,我们只需要先递归到当前排列中的下一个位置,然后在每个位置上枚举所有可以占用的数字,将它们依次填入当前位置中并递归到下一个位置即可。

当然,我们需要注意以下细节:

  • 当我们递归到了最后一个位置时,我们只需要输出当前排列即可。

  • 每个数字只能使用一次,因此在枚举可用数字时需要跳过已经被占用的数字。

  • 同样地,我们需要一个辅助数组used来记录每个数字是否被占用。

代码:

#include <iostream>
#include <algorithm>
using namespace std;void dfs(int n, int depth, int* arr, bool* used) {if (depth == n) {//递归到了最后一个位置,输出当前排列即可for (int i = 0; i < n; i++) {cout << arr[i] << " ";}cout << endl;return;//退出递归}for (int i = 1; i <= n; i++) {if (!used[i]) {//说明i号数字还没有用过,可以放入这一层递归arr[depth] = i;//把i号数字放进去used[i] = true;//此时i号数字已经被使用dfs(n, depth + 1, arr, used);//自己调用自己,表示此时进入了第deoth+1层used[i] = false;//恢复初始状态(回溯的时候要用到)//相当于这一次的排列,数字已经全部放完了,需要按照顺序将数字拿回来,重新放}}
}int main() {int n;cin >> n;int arr[n];bool used[n + 1] = {false};dfs(n, 0, arr, used);return 0;
}

当然了,这里是为了说明DFS的用法,如果只是单纯求解全排列问题,我们可以直接使用next_permutation函数,代码如下:

#include <iostream>
#include <algorithm>
using namespace std;int main() {int n;cin >> n;int arr[n];for (int i = 0; i < n; i++) {arr[i] = i + 1;}do {for (int i = 0; i < n; i++) {cout << arr[i] << " ";}cout << endl;} while (next_permutation(arr, arr + n));return 0;
}

2、题目描述

给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合 。以任意顺序返回输出。

示例 1:
输入:s = “a1b2”
输出:[“a1b2”, “a1B2”, “A1b2”, “A1B2”]
示例 2:
输入: s = “3z4”
输出: [“3z4”,“3Z4”]
提示:
1 <= s.length <= 12
s 由小写英文字母、大写英文字母和数字组成

解题思路:

题目要求找到字符串的所有可能结果,使用深度优先搜索(DFS)可以很好地解决问题。DFS过程可以利用回溯法,因为在DFS过程中,我们需要对字符串进行修改,换而言之,就是我们需要在搜索结束之后将字符串还原,使其能够继续遍历其他可能性。

代码

#include <iostream>
#include <vector>
#include <string>using namespace std;void dfs(string s, int index, vector<string>& res) {if (index == s.size()) {res.push_back(s);return;}dfs(s, index + 1, res);if (isalpha(s[index])) {s[index] ^= (1 << 5);dfs(s, index + 1, res);}
}vector<string> letterCasePermutation(string s) {vector<string> res;dfs(s, 0, res);return res;
}int main() {string s = "a1b2";vector<string> res = letterCasePermutation(s);for (auto str : res) {cout << str << endl;}return 0;
}

http://www.khdw.cn/news/1604.html

相关文章:

  • 化妆品品牌策划方案seo服务哪家好
  • 免费网站建设讯息bt樱桃 磁力岛
  • 用群晖做网站广告传媒公司主要做什么
  • 绍兴公司做网站宁波网站推广优化哪家正规
  • 重庆微信网站制作价格哈尔滨网络推广
  • 江苏网站建设公司上海专业的seo推广咨询电话
  • 小企业做网站选那种杭州百度推广公司有几家
  • 网站制作眼百度seo关键词排名
  • 域名停靠app免费下载太原seo哪家好
  • 河北智能网站建设网站seo链接购买
  • 做教育机构的设计哪些网站好关键词优化步骤简短
  • 大连建网站需要多少钱寻找客户资源的网站
  • 如何通过网站标题找网站网站网络推广运营
  • 西宁网站seo公司游戏推广员是做什么的
  • 首页设计培训班重庆网站seo搜索引擎优化
  • 网站服务器如何做端口映射如何注册网站怎么注册
  • 构建新引擎激发新动力宁波seo网站服务
  • 网站默认首页怎么做h5页面制作平台
  • 深圳网站公司好想开广告公司怎么起步
  • 沧州手机网站建设青岛百度竞价
  • 工商网站如何做企业增资今日国际军事新闻最新消息
  • 淘宝客怎么自己做网站及APP优化整站
  • wordpress phone主题西安做推广优化的公司
  • 湛江建设培训学校网站怎么投放广告是最有效的
  • 装修公司免费网站模版有什么推广软件
  • 高端网站设计一般多少钱南宁seo关键词排名
  • 外贸业务员怎么开发客户2022年搜索引擎优化指南
  • 美国做刀剑的网站建网站哪个平台好
  • 小程序要先做网站新闻稿撰写
  • wordpress隐藏音乐播放seo关键词排名优化哪好