C#实现:给定[0-9]数组,求用数组组成的任意数字的最小值
class Program
{
static void Main(string[] args)
{ List<int> c = new List<int>() { , , , , };
c.Sort();
var result = getNumber(c, );
Console.WriteLine("{0}", result); Console.ReadKey(); } private static int getNumber(List<int> c, int k)
{
c.Sort();
int result = ;
int kk = k;
List<int> eachNum = new List<int>();
//convert each bit of k to a list.
while (k != )
{
eachNum.Add(k % );
k = k / ;
}
//get the each bit which is larger or equal the same position of k.
for (int i = eachNum.Count - ; i >= ; i--)
{
result = result * + getCurrentNum(c, eachNum[i]);
} //If the result by below is small than target. Replace the number from low position.
int j = ;
while (result <= kk && j < eachNum.Count)
{
j++;
if (c.Where(item => item > eachNum[j - ]).Count() == )
{ continue;
} result = (result / (int)Math.Pow(, j)) * (int)Math.Pow(, j);
result = result + getMinValLargerThanT(c.Where(item => item > eachNum[j - ]).First(), c.First(), j - ); } //If the result is still small than target, carry in adding.
if (result <= kk)
{
result = getMinValLargerThanT(c.Where(item => item > ).First(), c.First(), eachNum.Count);
} return result;
} public static int getMinValLargerThanT(int firstIsNotZero, int firstNum, int length)
{
int result = firstIsNotZero;
for (int i = ; i < length; i++)
{
result = result * + firstNum;
}
return result;
} //Get for each number min value larger than the same position.
public static int getCurrentNum(List<int> c, int highNum)
{
foreach (int cItem in c)
{
if (cItem >= highNum)
{
return cItem;
}
}
return ;
}
}
C#实现:给定[0-9]数组,求用数组组成的任意数字的最小值的更多相关文章
- 【POJ2774】Long Long Message(后缀数组求Height数组)
点此看题面 大致题意: 求两个字符串中最长公共子串的长度. 关于后缀数组 关于\(Height\)数组的概念以及如何用后缀数组求\(Height\)数组详见这篇博客:后缀数组入门(二)--Height ...
- Java后缀数组-求sa数组
后缀数组的一些基本概念请自行百度,简单来说后缀数组就是一个字符串所有后缀大小排序后的一个集合,然后我们根据后缀数组的一些性质就可以实现各种需求. public class MySuffixArrayT ...
- 用n(0)次求一个数组里面最大子数组的和(数组可以输入负数)
今天老师布置了题目上的任务,可谓是杀死人脑细胞不偿命呐... 在课上叽叽咕咕的讨论了一节课也没有答案,只得出几个备选方案,一个是通过枚举法将数组里面的子数组和一个个列出来然后在进行比较,可想而知(n2 ...
- 牛客练习赛33 D tokitsukaze and Inverse Number (树状数组求逆序对,结论)
链接:https://ac.nowcoder.com/acm/contest/308/D 来源:牛客网 tokitsukaze and Inverse Number 时间限制:C/C++ 1秒,其他语 ...
- 给定n,a求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除。
题目描述: 给定n,a求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除. 输入: 两个整数n(2<=n<=1000),a(2<=a<=1000) 输出: 一个整数. ...
- [nowCoder] 两个不等长数组求第K大数
给定两个有序数组arr1和arr2,在给定一个整数k,返回两个数组的所有数中第K小的数.例如:arr1 = {1,2,3,4,5};arr2 = {3,4,5};K = 1;因为1为所有数中最小的,所 ...
- poj 1743 男人八题之后缀数组求最长不可重叠最长重复子串
Musical Theme Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 14874 Accepted: 5118 De ...
- POJ-2299 Ultra-QuickSort---树状数组求逆序对+离散化
题目链接: https://vjudge.net/problem/POJ-2299 题目大意: 本题要求对于给定的无序数组,求出经过最少多少次相邻元素的交换之后,可以使数组从小到大有序. 两个数(a, ...
- K:求取数组中最大连续子序列和的四个算法
相关介绍: 求取数组中最大连续子序列和问题,是一个较为"古老"的一个问题.该问题的描述为,给定一个整型数组(当然浮点型也是可以的啦),求取其下标连续的子序列,且其和为该数组的所有 ...
随机推荐
- 关于shape_trans (ConnectedRegions, ConvexRegions, 'convex')的作用于对比
* crystal.hdev: extraction of hexagonally shaped crystals via local thresholding and region post-pro ...
- XML.01-语法简介
body,td { font-family: calibri; font-size: 10pt } XML.01-语法简介 文档声明 元素(标签) 属性 注释 特殊字符 CDATA区域 处理指令 ...
- uicollectionview registerclass vs registernib
当cell是用代码实现的时候用registerclass,当cell是用xib文件实现的时候用registernib
- 使用js脚本批量下载慕课网视频
慕课网(http://www.imooc.com/)上有很多不错的视频,当然我不是来给慕课网打广告的,我本人学习过很多慕课网上的免费的视频. 在线看如果网速慢时,可能会有卡顿,没网时无法观看.所有说下 ...
- eclipse的快捷键(写给eclipse新手)
Eclipse常用的快捷键 1.常用的快捷键 Alt+/:常用于补全单词.方法,以及内容辅助,可以省很多事情 Ctrl+1:用于全局,快速修正 Ctrl+D 删除整行 Ctrl+F 用于全局 , ...
- [小哥Allegro72讲速成视频]
http://v.qq.com/vplus/df932a993679cf80a0b6c87bb849e22c 第01讲 Allegro常用组件介绍 视频链接:http://v.qq.com/boke/ ...
- python操作mysql数据库
连接数据库 输入值 存入数据库 关闭 import string import mysql.connector conn=mysql.connector.connect(user='root',pas ...
- VC++ 最小化到托盘、恢复
所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分.在程序最小化或挂起时,但有不希望占据任务栏的时候,就可以把程序放到托盘区. 一.托盘编程相关函数 ...
- MFC 对话框响应OnChar()
最近在写程序时,出现了对话框里面不接收键盘消息的情况,特别搜索了以下内容 MFC中对话框是不会直接响应OnChar和OnKeyDown消息的,会被 其它控件拦截,测试时发现不会进入这两个函数,必须重定 ...
- 使用git从服务器下载已存在的项目文件
在项目所在路径下输入: git remote -v 获得项目在服务器下的路径如下: origin ssh://git@ygl-redis:300/home/git/perfectunits-iphon ...