`
aiaiya
  • 浏览: 42431 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

实现一个函数:凑14

    博客分类:
  • java
阅读更多
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;
}
分享到:
评论

相关推荐

    微信小程序学习demo推荐:凑单神器;12月9日更新.zip

    凑单神器作为一个小程序示例,其主要功能可能是帮助用户在购物时更有效地凑满商家的优惠条件,如满减、满免邮等,提升用户的购物体验。这个项目可能包含了以下关键知识点: 1. **微信小程序开发环境**:开发微信小...

    微信小程序学习demo推荐:凑单神器;12月9日更新.rar

    微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,主要针对移动设备用户,特别是微信用户。它无需安装,用户只需在...对于想要入门前端开发或者进一步拓展微信生态服务的开发者来说,这是一个很好的学习资源。

    凑数字 凑金额 的最佳递归程序(by_kagawa)

    1. 创建一个递归函数,接收当前待凑金额、已选数字集合以及目标金额作为参数。 2. 在每次递归调用中,遍历所有未使用的数字,尝试将每个数字添加到集合中,然后检查新组合与目标金额的差距。 3. 如果新组合更接近...

    函数同构问题-解析版.pdf

    - 构造辅助函数:为了证明某个结论,常需要构造一个新的函数,利用不等式的性质来证明目标函数的特性。 - 利用导数研究函数的极值和单调性:通过求导数,找到函数的临界点和单调区间,帮助理解函数的行为。 5. **...

    Python实现凑24的源代码

    它可能包含一个函数,接受四个数字作为输入,然后使用递归或者回溯法遍历所有可能的运算组合,直到找到使结果等于24的运算序列。基础算法可能包括以下步骤: 1. **定义运算符**: 创建一个包含加、减、乘、除的...

    函数的概念及其表示(概念,分段函数求值,求解析式,定义域).doc

    函数是数学中的基本概念,它是一种特定的关系,将一个集合(称为定义域)中的每一个元素对应到另一个集合(称为值域)中的唯一元素。这种关系可以是具体的数值关系,也可以是更复杂的表达式或规则。 在判断两个函数...

    PID控制算法的C语言实现

    - 增量型PID:输出控制器输出的增量,即与前一次输出的差值,便于算法的离散实现。 - 积分分离PID:在系统偏差较大时采用比例和微分控制,偏差较小时开始引入积分环节,避免积分饱和现象。 - 抗积分饱和PID:为了...

    凑24点小游戏

    总之,"凑24点小游戏"的Java实现是一个有趣的项目,它结合了数学和编程,提供了实践和学习的机会,无论是对于初学者还是有经验的开发者,都能从中受益。通过阅读和分析代码,我们可以了解到如何用Java来构建一个实际...

    sqlserver四舍六入函数

    sqlserver函数实现四舍六入五成双,保留指定位数小数位数。 含义编辑 对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是“四舍六入五成双”,...

    SVM分类核函数及参数选择比较_奉国和1

    SVM参数选择问题是一个优化问题,目前SVM参数选取方法主要有:经验选择法、实验试凑法、梯度下降法、交叉验证法、Bayesian法等。同时随着遗传算法、粒子群优化、人工免疫等智能优化方法的成功,陆续有学者采用这些...

    PID控制算法的C语言实现(完整版).pdf

    - 从提供的内容中可以看到,PID控制算法的C语言实现涉及到了结构体定义(struct_pid),初始化函数(PID_init),以及算法实现函数(PID_realize)。 - 结构体struct_pid定义了设定速度SetSpeed、实际速度...

    找零钱问题C++实现 找零钱问题

    其核心思想是:对于任意一个金额`m`,我们想要知道最少用多少枚硬币凑出这个金额。假设我们有`n`种不同面值的硬币,分别为`a[0], a[1], ..., a[n-1]`。那么,对于金额`m`,如果`m &gt;= a[i]`,则最少硬币数为`f(m - a...

    C 语言实现钱币找零问题,使用贪心算法实现

    下面是一个使用C语言实现的贪心算法示例,即“钱币找零问题”,目标是用最少的钱币数量来找零。 **题目:**给定不同面额的钱币和一个总金额,使用贪心算法计算出最少需要多少个钱币来凑出这个总金额。 要求: 1、...

    C语言实现PID算法[归类].pdf

    总的来说,这段C代码提供了一个基本的PID控制器框架,可以通过调用`pid_tune`函数进行参数配置,并结合实际的输入输出数据,实现对系统动态行为的控制。然而,实际应用中,还需要考虑采样时间、控制周期、限幅处理等...

    C 语言实现“钱币找零问题”,使用贪心算法

    下面是一个使用C语言实现的贪心算法示例,即“钱币找零问题”,目标是用最少的钱币数量来找零。 **题目:**给定不同面额的钱币和一个总金额,使用贪心算法计算出最少需要多少个钱币来凑出这个总金额。 要求: 1、...

    蓝桥杯学习资料大全-题目参考代码-凑算式.zip

    凑算式通常是指通过组合运算符和数字来构建一个数学表达式,使得该表达式的计算结果等于目标值。在编程竞赛中,这样的问题可能要求参赛者编写程序,自动找出所有可能的运算组合,或者优化解决方案以找到最简短或最具...

    贪吃蛇小游戏1.0(凑字数)

    2. **结构体(Struct)**:为了封装蛇的各种属性,如位置、长度和方向,我们可以定义一个结构体来存储这些信息,这体现了C语言的面向过程编程思想。 3. **循环(Loop)**:游戏主循环是控制游戏运行的关键,通常...

    凑票程序源代码(有个bug,更正了)

    标题中的“凑票程序源代码”指的是一个编程项目,它可能是为了实现某种特定的票务管理或分配功能。源代码是程序员用高级语言编写的文本文件,这些文件包含了程序的逻辑和指令,使得计算机能够执行相应的任务。在这个...

Global site tag (gtag.js) - Google Analytics