来自:http://www.iteye.com/problems/64504?page=2
@SuppressWarnings("unchecked")
private static void getArithmeticProgression(int[] array) {
/* 排序 */
Arrays.sort(array);
/* 存放最大等差数列的容器 */
ArrayList<Integer> maxList = new ArrayList<Integer>();
/* 存放等差数列的临时容器 */
ArrayList<Integer> tmpList = new ArrayList<Integer>();
int len = array.length;
for (int i = 0; i < len; i++) {
for (int j = i + 1; j < len; j++) {
/* 清空list */
tmpList.clear();
/* 添加数列的第一个元素 */
tmpList.add(i);
/* 添加数列的第二个元素*/
tmpList.add(j);
/* 当前数列的元素个数 */
int num = 2;
/* 等差 */
int progression = array[j] - array[i];
/* 当前元素位置 */
int current = j;
/* 下一个元素位置 */
int next = j + 1;
/* 从current开始遍历*/
while (next < len) {
/*下一个元素和当前元素是等差数列*/
if (array[next] - array[current] == progression) {
tmpList.add(next);
current = next;
num++;
}
next++;
}
/* 设定最大等差数列*/
if (num >= maxList.size()) {
maxList = (ArrayList<Integer>)tmpList.clone();
}
}
}
/* 输出结果 */
for (Integer o : maxList) {
System.out.println(array[o]);
}
}
分享到:
相关推荐
然后,它会递归地调用自身,减少数组长度并添加新的随机数。 `main.js`文件可能包含了上述代码的实现,而`README.txt`文件可能是对这个代码的解释或使用指南,包括如何运行和测试这段代码。 了解递归算法并能熟练...
根据给定的信息,本文将详细解释“选取随机数的代码”这一知识点,包括代码功能、实现原理以及应用场景等。 ### 一、代码功能概述 该段代码的主要功能是从一个`Job`类型的数组`j`中随机选取`count`个元素,并确保...
在JavaScript编程中,随机数生成是一项非常实用的功能,常被应用于游戏开发、密码学、数据分析等多个领域。通过生成随机数,开发者可以实现诸如抽奖系统、验证码生成、安全密钥等应用场景。本文将深入探讨如何利用...
4. 数组元素操作:可以使用索引或者布尔数组来修改或提取数组元素,如`a(a > 3) = 0`将a中大于3的元素设为0。 5. 数组函数:MATLAB内置了许多针对数组的操作函数,如`max`、`min`、`mean`、`sum`、`prod`等。 四、...
Matlab 是一种强大的...这些基础知识构成了 Matlab 中矩阵数组操作的基础,熟练掌握它们对于进行复杂的数值计算和编程至关重要。通过这些操作,你可以创建、修改和分析各种类型的矩阵,从而解决各种科学和工程问题。
动态初始化只指定数组长度,如上述例子。 3. **遍历数组** - 遍历数组常见的方法是使用for循环,如`for(int i = 0; i ; i++) { System.out.println(newArr[i]);}`。另一种更简洁的方式是使用增强型for循环...
- **运行情况**:程序能够正确生成一个递增的随机数数组,并允许用户输入一个数字来进行查找。 #### (3)字符串连接 **程序实现**: ```c #include void main() { char a[50], b[50]; int i = 0, j = 0; ...
Javascript Basic 1、Javascript 概述(了解) Javascript,简称为 JS,是一款能够运行在 JS解释器/引擎 中的脚本语言 JS解释器/引擎 是JS的运行环境: 1、独立安装的JS解释器 -... 2、在函数体中,如果 a 大于 b的话...
当数组长度大于1时,先调用`Partition`函数确定基准的位置,然后对基准左边的子数组和右边的子数组分别递归调用`QuickSort`,直至数组只剩下一个元素或为空。 4. `main` 函数:这是程序的主入口点。在这里,首先...
- 当全部数组元素赋初值时,可不指定数组长度。 - 示例:`inta[5]={6,2,3};` - 等价于:`a[0]=6;a[1]=2;a[2]=3;a[3]=0;a[4]=0;` - 只给部分数组元素赋初值时,剩余元素默认为0。 - 示例:`inta[]={1,2,3,4,5,6}...
常量 数组长度, 10 // 假设数组长度为10 .整数型 数组(数组长度) // 定义整数型数组 // 初始化数组,填充随机数据 循环 数组长度 数组(循环索引) = 随机数(1, 100) 结束循环 // 冒泡排序过程 循环 数组长度...
- **数组索引**:通过计算得到的随机数作为数组索引,从而选取数组中的一个元素。 - **字符串拼接**:每次循环都向`m_strRandomize`变量追加一个新的字符,最终形成完整的随机数字串。 #### 总结 通过上述分析和...
- 当其中一个数组遍历完后,将另一个数组剩余的元素依次复制到 `number3` 中。 ### 四、合并排序的特点与应用场景 #### 特点 - **稳定性**:合并排序是稳定的排序算法,即相等的元素保持原有的相对顺序。 - **时间...
2. **极值查找**:根据极大值与极小值的定义,编写程序查找随机数数组中的所有极大值与极小值。 3. **结果显示**:将查找到的极大值与极小值分别存储在一个数组中并显示出来。 ##### 2.2 主要设计过程 1. **随机数...
总之,通过上述方法,我们可以在一个指定的数组中随机取出若干个不重复的元素,并且能够灵活应对数组长度小于抽取数量的情况。这个技术在很多编程场景中都有用处,比如抽奖程序、随机化游戏逻辑等。
ids数组中随机选取键值,但是选取的数量是通过min函数计算得到的,确保不会超过$_base_ids数组的长度或传入的$limited参数加上10,这样做是为了在选取的键值数量不足以满足$limited时,尽可能地保证能返回足够数量的...
在某些情况下,我们需要将一个字符串随机分割成多个长度不一的子字符串,并将这些子字符串存储到一个数组中。这样的操作在处理文本数据时非常实用,例如对文本进行随机打乱或创建动态生成的内容等。 php将字符串...
在`generateRandomNumber()`方法中,首先检查输入参数的有效性,确保`begin且`(end - begin)`大于等于`size`,防止生成的数组长度超出范围。 4. **用户交互**: 通过`Scanner`类获取用户输入,实现简单的命令行...
- `Array`对象提供了丰富的内置方法,如`length`属性用于获取数组的长度,`push()`方法用于向数组末尾添加元素,`slice()`用于提取数组的一部分形成新数组,`splice()`用于删除或替换数组中的元素等。 - 在此问题...
在进行Web开发的过程中,常常需要从数组中随机获取元素,比如生成随机验证码、随机抽取样本来进行数据分析,以及随机生成数字ID等场景。PHP提供的内置函数可以让我们轻松实现这些功能。 首先,我们来看一下`array_...