数组处理
给定一个数组input[] ,如果数组长度n为奇数,则将数组中最大的元素放到 output[] 数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到 output[] 数组中间两个位置偏右的那个位置上,
然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。
例如:
input[] = {3, 6, 1, 9, 7} output[] = {3, 7, 9, 6, 1};
input[] = {3, 6, 1, 9, 7, 8} output[] = {1, 6, 8, 9, 7, 3}
package com.liuhao; import java.util.Arrays; import java.util.Scanner; public class ArraySort { public static void main(String[] args) { System.out.println("请输入数据,以空格间隔,以回车结束:"); Scanner scan = new Scanner(System.in); // 由于不知道输入的元素个数,故只能先读入到字符串中,然后进行分割 String str = scan.nextLine(); String[] strArr = str.split(" "); int n = strArr.length; int[] input = new int[n]; // 用于存放输入数据 int[] output = new int[n]; // 用于存放输出数据 // 将字符串数组转换为int数组 for (int i = 0; i < input.length; i++) { input[i] = Integer.parseInt(strArr[i]); } // 直接对输入数据进行排序,得到由小到大的数据 Arrays.sort(input); int flag = n / 2; // 放初始值的位置 int j = 1; // 增量 boolean temp = true; // 用于判断是加增量,还是减增量 for (int i = n - 1; i >= 0 && flag >= 0 && flag < n; i--) { output[flag] = input[i]; if (temp) { flag -= j; // flag左移 } else { flag += j; // flag右移 } temp = !temp; j++; } System.out.println("处理结果:"); for (int i = 0; i < output.length; i++) { System.out.print(output[i] + " "); } } }
相关推荐
【免费题库】华为OD机试 - 数组二叉树(Java & JS & Python & C & C++).html
【免费题库】华为OD机试 - 数组连续和(Java & JS & Python & C & C++).html
【免费题库】华为OD机试 - 数组组成的最小数字(Java & JS & Python & C & C++).html
华为认证HCIE-RS3.0-LAB1-OptioneC2 题目 华为认证HCIE-RS3.0-LAB1-OptioneC2 题目 华为认证HCIE-RS3.0-LAB1-OptioneC2 题目
### 华为OD机试C卷- 数组二叉树(Java & JS & Python) #### 颈椎题目概述 本题目主要考察的是利用数组来表示二叉树,并且通过深度优先搜索(DFS)的方式寻找从根节点到最小叶子节点的路径。题目描述中给出了非常...
华为od机试题-真题(包含答案) 华为od机试题-真题(包含答案) 华为od机试题-真题(包含答案) 华为od机试题-真题(包含答案) 华为od机试题-真题(包含答案) 华为od机试题-真题(包含答案) 华为od机试题-真题...
从给定的文件信息来看,我们探讨的主题是与2012年校园编程大赛相关的一道题目,特别提及了华为2012校园编程大赛。虽然标题和描述重复,但可以推断出这是针对学生群体设计的比赛,旨在评估和提升他们在编程领域的技能...
### 华为校招硬件岗,电源岗笔试题解析 #### 题目1:压敏电阻选型原则 **题目描述**:压敏电阻选型需满足:压敏电压 \(U_c >\) 最大持续工作电压 \(U_{max} >\) 额定工作电压 \(U_n\);绝不允许 \(U_c\) 低于被...
华为校招高频选择题-1的知识点可以大致分类为计算机网络基础知识、网络设备及协议、以及网络配置与管理。下面详细说明每个知识点: 1. 物理层设备:物理层是OSI七层模型的最底层,主要负责信号的传输。物理层的设备...
2012年华为校招中就包含了一系列的C和C++编程题目,这些题目旨在考核应聘者对基础编程知识的掌握和实际编程能力。 本篇文章将对给出的2012华为校招上机C&C++试题进行知识点的归纳与解析。需要注意的是,由于文档...
目录: 1-0 售前技能交流 1-1华为园区交换机主打胶片 ...2-5华为云管理网络交流 2-6华为安全产品及解决方案介绍 2-7华为SD-WAN解决方案 第1天上午.mp4 第1天下午.mp4 第2天上午.mp4 第2天下午.mp4
华为校招机考试题解析 本文将对华为校招机考试题进行详细解析,涵盖C++编程语言、数据结构、算法等多个方面的知识点。 一、数据结构 在该考试题中,我们可以看到多种数据结构的应用,包括数组、字符串、结构体等...
华为S5700-28-LI-AC是一款企业级的接入层交换机,广泛应用于中小型企业或大型网络的边缘。这款设备以其高性能、高可靠性和丰富的功能特性而受到青睐。本文将深入探讨该型号交换机的固件及其系统。 固件是设备的核心...
私信博主获取三天体验卡,免费看所有华为OD真题、考试报告、手撕代码、面试记录
私信博主获取三天体验卡,免费看所有华为OD真题、考试报告、手撕代码、面试记录
【Java】华为机试题2011-9-17 在Java编程领域,华为的面试题往往涵盖广泛,从基础语法到高级设计模式,再到实际的编程问题解决能力。这篇2011年的机试题可能包括了多个部分,旨在评估候选人的Java编程技能和对软件...
在华为校招面试中,求职者通常会遇到大量关于网络协议、路由选择、网络设备配置等方面的选择题。根据提供的文件内容,我们可以整理出以下IT知识点: 1. IP地址和网络划分 - IPX地址网络地址有4个字节。 - IP地址...
华为校招笔试题目内容广泛,覆盖了通信领域的众多基础知识和实际应用。应聘者在准备华为校招笔试时,需要对这些知识点有深入的了解和掌握,才能在考试中脱颖而出。同时,这些知识点的掌握也有助于应聘者在未来的通信...