XX公司综合机试题第一题,以前有人讨论过,这里列出不同的算法
1. 请实现一个函数:凑14;输入很多个整数(1<=数值<=13),任意两个数相加等于14就可以从数组中删除这两个数, 求剩余数(按由小到大排列);比如:输入数组[9,1,9,7,5,13], 输出数组[7,9]
public static Integer[] doTest(Integer[] array, Integer num) {
int[] temp = new int[num];
for (int i = 0; i < array.length; i++) {
if (array[i] < 1 || array[i] >= num)
return null;
++temp[array[i]];
}
for (int i = 1; i < num / 2; i++) {
if (temp[i] > temp[num - i]) {
temp[i] -= temp[num - i];
temp[num - i] = 0;
} else {
temp[num - i] -= temp[i];
temp[i] = 0;
}
}
if (num % 2 == 0) {
temp[num / 2] = temp[num / 2] % 2;
}
List<Integer> resultList = new LinkedList<Integer>();
for (int i = 1; i < temp.length; i++) {
if (0 != temp[i]) {
for (int j = 0; j < temp[i]; j++) {
resultList.add(i);
}
}
}
if (resultList.size() > 0) {
Integer[] result = new Integer[resultList.size()];
for (int i = 0; i < resultList.size(); i++) {
result[i] = resultList.get(i);
}
return result;
} else
return null;
}
分享到:
相关推荐
凑单神器作为一个小程序示例,其主要功能可能是帮助用户在购物时更有效地凑满商家的优惠条件,如满减、满免邮等,提升用户的购物体验。这个项目可能包含了以下关键知识点: 1. **微信小程序开发环境**:开发微信小...
微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,主要针对移动设备用户,特别是微信用户。它无需安装,用户只需在...对于想要入门前端开发或者进一步拓展微信生态服务的开发者来说,这是一个很好的学习资源。
1. 创建一个递归函数,接收当前待凑金额、已选数字集合以及目标金额作为参数。 2. 在每次递归调用中,遍历所有未使用的数字,尝试将每个数字添加到集合中,然后检查新组合与目标金额的差距。 3. 如果新组合更接近...
- 构造辅助函数:为了证明某个结论,常需要构造一个新的函数,利用不等式的性质来证明目标函数的特性。 - 利用导数研究函数的极值和单调性:通过求导数,找到函数的临界点和单调区间,帮助理解函数的行为。 5. **...
它可能包含一个函数,接受四个数字作为输入,然后使用递归或者回溯法遍历所有可能的运算组合,直到找到使结果等于24的运算序列。基础算法可能包括以下步骤: 1. **定义运算符**: 创建一个包含加、减、乘、除的...
函数是数学中的基本概念,它是一种特定的关系,将一个集合(称为定义域)中的每一个元素对应到另一个集合(称为值域)中的唯一元素。这种关系可以是具体的数值关系,也可以是更复杂的表达式或规则。 在判断两个函数...
- 增量型PID:输出控制器输出的增量,即与前一次输出的差值,便于算法的离散实现。 - 积分分离PID:在系统偏差较大时采用比例和微分控制,偏差较小时开始引入积分环节,避免积分饱和现象。 - 抗积分饱和PID:为了...
总之,"凑24点小游戏"的Java实现是一个有趣的项目,它结合了数学和编程,提供了实践和学习的机会,无论是对于初学者还是有经验的开发者,都能从中受益。通过阅读和分析代码,我们可以了解到如何用Java来构建一个实际...
sqlserver函数实现四舍六入五成双,保留指定位数小数位数。 含义编辑 对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是“四舍六入五成双”,...
SVM参数选择问题是一个优化问题,目前SVM参数选取方法主要有:经验选择法、实验试凑法、梯度下降法、交叉验证法、Bayesian法等。同时随着遗传算法、粒子群优化、人工免疫等智能优化方法的成功,陆续有学者采用这些...
- 从提供的内容中可以看到,PID控制算法的C语言实现涉及到了结构体定义(struct_pid),初始化函数(PID_init),以及算法实现函数(PID_realize)。 - 结构体struct_pid定义了设定速度SetSpeed、实际速度...
其核心思想是:对于任意一个金额`m`,我们想要知道最少用多少枚硬币凑出这个金额。假设我们有`n`种不同面值的硬币,分别为`a[0], a[1], ..., a[n-1]`。那么,对于金额`m`,如果`m >= a[i]`,则最少硬币数为`f(m - a...
下面是一个使用C语言实现的贪心算法示例,即“钱币找零问题”,目标是用最少的钱币数量来找零。 **题目:**给定不同面额的钱币和一个总金额,使用贪心算法计算出最少需要多少个钱币来凑出这个总金额。 要求: 1、...
总的来说,这段C代码提供了一个基本的PID控制器框架,可以通过调用`pid_tune`函数进行参数配置,并结合实际的输入输出数据,实现对系统动态行为的控制。然而,实际应用中,还需要考虑采样时间、控制周期、限幅处理等...
下面是一个使用C语言实现的贪心算法示例,即“钱币找零问题”,目标是用最少的钱币数量来找零。 **题目:**给定不同面额的钱币和一个总金额,使用贪心算法计算出最少需要多少个钱币来凑出这个总金额。 要求: 1、...
凑算式通常是指通过组合运算符和数字来构建一个数学表达式,使得该表达式的计算结果等于目标值。在编程竞赛中,这样的问题可能要求参赛者编写程序,自动找出所有可能的运算组合,或者优化解决方案以找到最简短或最具...
2. **结构体(Struct)**:为了封装蛇的各种属性,如位置、长度和方向,我们可以定义一个结构体来存储这些信息,这体现了C语言的面向过程编程思想。 3. **循环(Loop)**:游戏主循环是控制游戏运行的关键,通常...
标题中的“凑票程序源代码”指的是一个编程项目,它可能是为了实现某种特定的票务管理或分配功能。源代码是程序员用高级语言编写的文本文件,这些文件包含了程序的逻辑和指令,使得计算机能够执行相应的任务。在这个...