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

淄博网站建设企业百度关键词快速排名

淄博网站建设企业,百度关键词快速排名,网站开发好还要空间吗,宿迁网站建设价格真的好开心 卑微的我第一次做有点难度的题执行用时0ms的哈哈哈哈哈太开心了 下面就和我一起看看我是怎么搞滴吧(但是我真的要控诉一下自己我真是太马虎了 在if条件后加了一个分号(我是疯了嘛) ) 以前做全排列的题是用的递归但是递归的全排列的顺序是 123 132 213 23…

在这里插入图片描述在这里插入图片描述真的好开心 卑微的我第一次做有点难度的题执行用时0ms的哈哈哈哈哈太开心了
下面就和我一起看看我是怎么搞滴吧(但是我真的要控诉一下自己我真是太马虎了 在if条件后加了一个分号(我是疯了嘛) )
以前做全排列的题是用的递归但是递归的全排列的顺序是
123 132 213 231 321 312 它不是按大小排序的所以不太适合这道题 可能是我写的递归不适合 我看别人的题解有用递归的
这道题我是用的找规律的方法
拿123 来举个例子
它的按全排列排序的序列是 123 132
213 231
312 321
我们可以把这六个序列分成三组 分别是按1开头 按2 开头 按 3开头
而每一组的个数是fac(m=(n-1))fac代表阶乘 即2的阶乘 2个 假如我们的k是3 我们让
a=k/fac(m)就得到了组号 。 b= k%fac(m) 就得到了 第几组的第几个 (因为这是一个循环的过程 我把a的初始值设为了k 所以在下面的代码中我写的是b=a%fac(m) a=a/fac(m))
如果b不为0的话 a应该加一 (拿k=3/fac(m)=2来说 本来第3个序列应该在第二组但是因为是整除所以 a=1 而它在下一组还有b个说明它最终应落在a+1组) 如果b为0的话说明他是某一组的最后一个 这是我们就直接把它修改为一组序列的个数 即fac(m)
我们维护一个flag数组 数组下标从1开始到n 现在n=3
1 2 3
0 0 0 初始值为0 。 我们得到组号a=2就去找flag数组中第a个值不为0的下标 根据上面的思路 我们找到的是2 把他存到answer数组中 并把flag数组下标为2的值改为1 1 2 3
0 1 0 这时我们其实已经筛选出序列在213 231中(这时候我们分组就看13 和31就好了) 然后我们修改a的值 为b=1 m=m-1 =1 然后我们再让 b=a%fac(m) =0 得到在组中的第几个 因为b为0说明在最后一个 将b的值设为fac(m)=1 a/fac(m)得到组号 为1 所以在flag数组中找第a=1个值不为0的数 也就是下标为1的位置 并把flag数组下标为1的值改为1 1 2 3
1 1 0
把1存入answer中 接着
修改a的值 为b=1 m=m-1 =0 b=a%fac(m =0 b为0说明在最后一个 将b的值设为fac(m)=1 a=a/fac(m)=1找第1个flag不为0的下标 即3 把3存入answer中 这样我们就得到了完整的答案 2 3 1 是不是有点奇妙

int fac(int n)//计算n的阶乘
{if(n==0||n==1)return 1;elsereturn fac(n-1)*n;
}
int find(int *flags,int k,int n)//查找flag数组中第k个值为0的数
{int num=0;int re=0;for(int i=1;i<=n;i++){if(flags[i]==0)num+=1;if(num==k){re=i;break;}}return re;}
char * getPermutation(int n, int k){char *answer=(char*)malloc(sizeof(char)*(n+1));int *flags=(int*)malloc(sizeof(int)*(n+1));int i=0;for(i=0;i<=n;i++)flags[i]=0;int m=n-1;int a=k;int b=0;int index=0;int cur=0;while(m!=-1){b=a%fac(m);a=a/fac(m);if(b!=0)a=a+1;if(b==0)b=fac(m);index=find(flags,a,n);answer[cur]=index+'0';flags[index]=1;cur+=1;m=m-1;a=b;}answer[cur]='\0';return answer;
}
http://www.lbrq.cn/news/2630449.html

相关文章:

  • 做的网站百度搜不到杭州seo泽成
  • 网站服务器在域名搜索
  • 计量检测网站平台建设方案网络销售工作靠谱吗
  • 赛扶做网站关系营销案例
  • 做歌手的网站微信营销平台系统
  • 电子网站怎么做的游戏推广公司
  • 抚顺网站建设公司小程序推广运营的公司
  • 公司做网站的流程商品推广软文范例100字
  • 大理网站制作百度提问首页
  • 机关建设网站整合营销是什么
  • windows不能用wordpress宁波seo排名公司
  • 淘宝网站代理怎么做月入百万的游戏代理
  • 新开传奇新服网一个具体网站的seo优化
  • 北京上海网站建设公司今日新闻摘抄十条
  • 武汉殷氏科技网站建设河南靠谱seo电话
  • 做化工哪个网站好福建seo关键词优化外包
  • 关于申请建设网站的请示互动营销案例分析
  • 做网站市场分析seo优化技巧
  • 备案的网站如何访问搜索引擎有哪些技巧
  • 湖北三丰建设集团股份网站如何写软文推广产品
  • 怎样做营销型网站深圳抖音seo
  • 城阳网站改版长沙seo行者seo09
  • 网站预付款怎么做会计分录百度网址链接
  • 企业网站页头背景图近三天新闻50字左右
  • 推广运营策略谷歌seo网站推广
  • 网站建设服务协议 百度今日最新军事新闻
  • 女子医院网站开发策略微信推广平台怎么做
  • logo设计大师网站推广及seo方案
  • 做本地网站怎么挣钱网站查询域名
  • dw怎么做百度页面网站淘宝seo是指什么
  • (附源码)基于Web的物流信息管理系统
  • harbor仓库搭建(配置https)
  • 《爬虫实战指南:轻松获取店铺详情,开启数据挖掘之旅》
  • 力扣137:只出现一次的数字Ⅱ
  • Corrosion2靶机练习笔记
  • 线程锁-互斥、自旋、读写、原子操作、线程池