比n大的最小不重复数
void Calculate(int a)
{
int pa = a;
int count = ;
int b[] = {}; //将pa按位存储到数组b
while(pa > )
{
b[count++] = pa%;
pa = pa/;
}
bool flag = true; //是否有重复数
bool carryFlag = false; //是否产生进位 //从高位开始判断是否有重复数
int i,j,k;
count--;
for(i=count;i>;i--)
{
if(b[i] == b[i-])
{
flag = false;
b[i-]++; //有可能产生进位
if(b[i-]>)
carryFlag = true;
break;
}
} if(!flag) //如果存在重复位
{
int c = ;
//将低位重复数后面的数都变成0101....
for(j = i-;j>;j--)
{
b[j-] = c;
c = (c == ? :);
} //处理进位
if(carryFlag)
{
int carry = ;
for(j = i-;j<=count + ;j++)
{
b[j] = b[j] + carry;
if(b[j] >= )
{
carry = ;
b[j] = b[j] - ;
}
}
}
pa = ;
for(i = (count= ? count + :count);i >=;i--)
{
pa = pa * + b[i];
}
cout<<"the min no repeat number: "<<pa<<endl;
}
else
{
cout<<"the min no repeat number: "<<a<<endl;
return;
}
} 输入两个很大正数,输出它们的乘积
void Multiply(const char *a,const char *b)
{
assert(a!=NULL && b!=NULL);
int len_a = strlen(a);
int len_b = strlen(b);
int *c = new int[len_a+len_b];
memset(c,,sizeof(int) *(len_a+len_b));
for(int i=;i<len_a;i++)
{
for(int j=;j<len_b;j++)
{
c[i+j+] += (a[i]-'')*(b[j]-'');
}
}
for(int i=len_a+len_b-;i>;i--)
{
if(c[i]>=)
{
int carry = c[i]/;
c[i-] = c[i-] + carry;
c[i] = c[i] % ;
}
}
char *d = new char[len_a + len_b];
int i=;
while(c[i] == ) ++i;
int j;
for(j=;i<len_a+len_b;j++,i++)
{
d[j] = c[i] + '';
}
d[j] = '\0';
for(int i=;i<len_a+len_b;i++)
cout<<d[i];
cout<<endl;
}
比n大的最小不重复数的更多相关文章
- 对Alexia(minmin)网友代码的评论及对“求比指定数大且最小的‘不重复数’问题”代码的改进
应Alexia(minmin)网友之邀,到她的博客上看了一下她的关于“求比指定数大且最小的‘不重复数’问题”的代码(百度2014研发类校园招聘笔试题解答),并在评论中粗略地发表了点意见. 由于感觉有些 ...
- 评playerc网友的"求比指定数大且最小的“不重复数”问题"
问题见:对Alexia(minmin)网友代码的评论及对“求比指定数大且最小的‘不重复数’问题”代码的改进 .算法:求比指定数大且最小的“不重复数”问题的高效实现 . playerc网友的代码如下(求 ...
- [Swift]LeetCode744. 寻找比目标字母大的最小字母 | Find Smallest Letter Greater Than Target
Given a list of sorted characters letterscontaining only lowercase letters, and given a target lette ...
- C#版(击败100.00%的提交) - Leetcode 744. 寻找比目标字母大的最小字母 - 题解
C#版 - Leetcode 744. 寻找比目标字母大的最小字母 - 题解 744.Find Smallest Letter Greater Than Target 在线提交: https://le ...
- Leetcode之二分法专题-744. 寻找比目标字母大的最小字母(Find Smallest Letter Greater Than Target)
Leetcode之二分法专题-744. 寻找比目标字母大的最小字母(Find Smallest Letter Greater Than Target) 给定一个只包含小写字母的有序数组letters ...
- LeetCode 744. Find Smallest Letter Greater Than Target (寻找比目标字母大的最小字母)
题目标签:Binary Search 题目给了我们一组字母,让我们找出比 target 大的最小的那个字母. 利用 binary search,如果mid 比 target 小,或者等于,那么移到右半 ...
- Leetcode744.Find Smallest Letter Greater Than Target寻找比目标字母大的最小字母
给定一个只包含小写字母的有序数组letters 和一个目标字母 target,寻找有序数组里面比目标字母大的最小字母. 数组里字母的顺序是循环的.举个例子,如果目标字母target = 'z' 并且有 ...
- Java实现 LeetCode 744 寻找比目标字母大的最小字母(二分法)
744. 寻找比目标字母大的最小字母 给定一个只包含小写字母的有序数组letters 和一个目标字母 target,寻找有序数组里面比目标字母大的最小字母. 在比较时,数组里字母的是循环有序的.举个例 ...
- C#LeetCode刷题之#744-寻找比目标字母大的最小字母(Find Smallest Letter Greater Than Target)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4001 访问. 给定一个只包含小写字母的有序数组letters 和 ...
随机推荐
- 四:Java之字符串操作String、StringBuffer和StringBuilder
string是我们经经常使用到的一个类型,事实上有时候认为敲代码就是在重复的操作字符串,这是C的特点,在java中.jdk非常好的封装了关于字符串的操作.三个类String .StringBuffer ...
- 去哪网实习总结:开发定时任务(JavaWeb)
本来是以做数据挖掘的目的进去哪网的,结构却成了系统开发.. . 只是还是比較认真的做了三个月,老师非常认同我的工作态度和成果.. . 实习立即就要结束了.总结一下几点之前没有注意过的变成习惯和问题,分 ...
- MongoDB集群——分片
1. 分片的结构及原理分片集群结构分布: 分片集群主要由三种组件组成:mongos,config server,shard1) MONGOS数据库集群请求的入口,所有的请求都通过mongos进行协调, ...
- 2017iOS开发最新的打包测试步骤(亲测)
最近也是忙着修改项目,今天把最近遇到的问题和知识给大家分享一下. 有时候我们需要将我们的项目发给测试组进行bug测试,这时候我们就需要把自己的项目打包,生成一个二维码或者链接的形式,给测试组,接下来就 ...
- [BZOJ 1660] Bad Hair Day
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1660 [算法] Sprease Table + 二分 时间复杂度 : O(NlogN ...
- astgo 老版本免激活完整安装包带安装命令脚本
astgo是个国产的老牌经典软交换服务器,主要用来当回拨网络电话服务端,同时也具备群呼.传真等功能! 这个需要安装在centos 5.x 32位系统.带安装脚本,上传到root目录后执行安装脚本即可等 ...
- [App Store Connect帮助]三、管理 App 和版本(6.2)转让 App:App 转让条件
App 必须满足以下条件才可转让: 转让者和接收者的帐户均不处于待处理或变更状态,且双方均已接受“协议.税务和银行业务”部分中最新版本的转让协议 该 App 的任何版本都不能使用 iCloud 权限 ...
- Map,Filter 和 Reduce
Map会将一个函数映射到一个输入列表的所有元素上 map(function_to_apply, list_of_inputs) items = [1, 2, 3, 4, 5] squared = li ...
- servlet范围:数据共享
数据共享: 请求转发:request.getDispatcher("相对路径").forward(request,response) 重定向:response.sendRedire ...
- Python安装distribute包
从官网https://pypi.python.org/pypi/distribute/0.6.49#downloads上下载distribute包,解压后进入解压文件的目录下,使用 python se ...