【Java初阶练习题】-- 数组练习题

news/2024/11/20 15:38:35/

数组练习题

  • 1. 创建的数组,并且赋初始值
  • 2. 改变原有数组元素的值
  • 3. 数组所有元素之和
  • 4. 奇数位于偶数之前
  • 5.两数之和
  • 6. 只出现一次的数字
  • 7. 多数元素
  • 8. 给你一个整数数组 arr,请你判断数组中是否存在连续三个元素都是奇数的情况:如果存在,请返回 true ;否则,返回 false 。

1. 创建的数组,并且赋初始值

要求:创建一个 int 类型的数组, 元素个数为 100, 并把每个元素依次设置为 1 - 100

    public static void main(String[] args) {//创建一个 int 类型的数组, 元素个数为 100, 并把每个元素依次设置为 1 - 100int[] array = new int[100];for (int i = 0; i < 100; i++) {array[i] = i + 1;}System.out.println(Arrays.toString(array));}

在这里插入图片描述

2. 改变原有数组元素的值

要求:实现一个方法 transform, 以数组为参数, 循环将数组中的每个元素 乘以 2 , 并设置到 对应的数组元素上. 例如 原数组为 {1, 2, 3}, 修改之后为 {2, 4, 6}

    public static void main(String[] args) {int[] array = {1,2,3};tranForm(array);System.out.println(Arrays.toString(array));}public static void tranForm(int[] array) {for (int i = 0; i < array.length; i++) {array[i] = array[i] * 2;}}

3. 数组所有元素之和

实现一个方法 sum, 以数组为参数, 求数组所有元素之和.

    public static void main3(String[] args) {int[] array = {1,2,3};int ret = sum(array);System.out.println(ret);}public static int sum(int[] array) {int sumArr = 0;for (int i = 0; i < array.length; i++) {sumArr += array[i];}return sumArr;}

在这里插入图片描述

4. 奇数位于偶数之前

调整数组顺序使得奇数位于偶数之前。调整之后,不关心大小顺序。
如数组:[1,2,3,4,5,6]调整后可能是:[1, 5, 3, 4, 2, 6]

    public static void main(String[] args) {int[] array = {1,2,3,4,5,6};func1(array);System.out.println(Arrays.toString(array));}public static void func1(int[] array) {int i = 0;int j = array.length - 1;while (i < j) {while (i < j && array[i] % 2 != 0) {i++;}while (i < j && array[j] % 2 == 0) {j--;}int tmp = array[i];array[i] = array[j];array[j] = tmp;}}

在这里插入图片描述

5.两数之和

//输入:nums = [2,7,11,15], target = 9
//输出:[0,1]
//解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
    public static void main(String[] args) {int[] nums = {2,7,11,15};int[] ret = fun1(nums,9);System.out.println(Arrays.toString(ret));}public static int[] fun1(int[] array,int target) {int[] tmp = new int[2];for (int i = 0; i < array.length; i++) {for (int j = i+1; j < array.length; j++) {if (array[i] + array[j] == target) {tmp[0] = i;tmp[1] = j;return tmp;}}}return new int[]{-1,-1};}

在这里插入图片描述

6. 只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

    public static void main(String[] args) {int[] array = {2,2,1};int ret = fun5(array);System.out.println(ret);}public static int fun5(int[] array) {int tmp = 0;for (int i = 0; i < array.length; i++) {tmp = tmp ^ array[i];}return tmp;}

在这里插入图片描述

7. 多数元素

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。

    public static void main(String[] args) {int[] array = {2,2,1,1,1,2,2,2};int ret = fun7(array);System.out.println(ret);}public static int fun7(int[] array) {Arrays.sort(array);return array[array.length/2];}

在这里插入图片描述

8. 给你一个整数数组 arr,请你判断数组中是否存在连续三个元素都是奇数的情况:如果存在,请返回 true ;否则,返回 false 。

在这里插入图片描述

    public static void main(String[] args) {int[] array = {2,6,4,1};boolean ret = fun8(array);System.out.println(ret);}public static boolean fun8(int[] array) {int count = 0;for (int i = 0; i < array.length; i++) {if (array[i] % 2 != 0) {count++;if (count == 3) {return true;}} else {count = 0;}}return false;}

在这里插入图片描述


http://www.ppmy.cn/news/1198019.html

相关文章

【CMU15445】Fall 2019, Project 3: Query Execution 实验记录

目录 实验准备实验测试Task 1: CREATING A CATALOG TABLE SQL 执行是由数据库解析器转化为一个由多个 executor 组成的 Query Plan 来完成的&#xff0c;本实验选择了火山模型来完成 query execution&#xff0c;这一次的 project 就是实现各种 exeutor&#xff0c;从而可以通过…

gcc -static 在centos stream8 和centos stream9中运行报错的解决办法

gcc -static 在centos stream8 和centos stream9中运行报错的解决办法&#xff1a; 报/usr/bin/ld: cannot find -lc 我们下载glibc-static&#xff1a; 选择x86_64的。 还有一个是libxcrypt-static&#xff0c;依旧在这个网站里搜。 rpm -ivh glibc-static-2.28-239.el8.x…

Centralized Feature Pyramid for Object Detection解读

Centralized Feature Pyramid for Object Detection 问题 主流的特征金字塔集中于层间特征交互&#xff0c;而忽略了层内特征规则。尽管一些方法试图在注意力机制或视觉变换器的帮助下学习紧凑的层内特征表示&#xff0c;但它们忽略了对密集预测任务非常重要的被忽略的角点区…

使用Java工作流简单介绍

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

Jetpack:029-Jetpack中的网格布局

文章目录 1. 概念介绍2. 使用方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 我们在上一章回中介绍了Jetpack中Card相关的内容&#xff0c;本章回中主要介 网格布局。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍 我们在本章回中…

Qt界面美化之Qt Style Sheets

Qt style sheet 简称QSS style sheet可以在代码中单独对某个控件使用&#xff0c;例如&#xff1a; labelLEDLIN new QLabel("",this); labelLEDLIN->setFixedSize(36,36); labelLEDLIN->setStyleSheet("background-color:red;border-radius:18px;colo…

算法题:53. 最大子数组和(动态规划)Java Python 实现

1、解题思路 该图引用自&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 2、动态规划解法-Python代码 # 空间未做优化时的代码&#xff0c;保留本部分代码是为了便于理解 # class Solution: # def maxSubArray(self, nums): # …

【多媒体文件格式】AVI、WAV、RIFF

AVI、RIFF AVI&#xff1a;Audio/Video Interleaved&#xff08;音频视频交织/交错&#xff09;&#xff0c;用于采集、编辑、播放的RIFF文件。由Microsoft公司1992年11月推出&#xff0c;是Microsoft公司开发的一种符合RIFF文件规范的数字音频与视频文件格式&#xff0c;原先…