Java学习 10.Java-数组习题

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

代码实现

    public static void main(String[] args) {int[] arr=new int[100];for (int i = 0; i < arr.length; i++) {arr[i]=i+1;}System.out.println(Arrays.toString(arr));}

运行结果

二、改变原有数组元素的值

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

思路

传入数组,得到数组长度,将数组长度赋值给新数组长度,用数组长度进行遍历,将数组中每一个元素赋值给新数组的元素,最后返回新数组

代码实现

    public static int[] transform(int arr[]){int n= arr.length;int arr2[]=new int[n];for (int i = 0; i < n; i++) {arr2[i]=arr[i]*2;}return arr2;}public static void main(String[] args) {int arr[]={3,5,7,9};int arr2[]=transform(arr);System.out.println(Arrays.toString((arr2)));}

运行结果

三、数组所有元素之和

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

思路

定义一个变量,将数组进行遍历,将数组遍历得到的值加给定义的变量,返回变量

代码实现

    public static int[] transform(int arr[]){int n= arr.length;int arr2[]=new int[n];for (int i = 0; i < n; i++) {arr2[i]=arr[i]*2;}return arr2;}public static void main(String[] args) {int arr[]={3,5,7,9};int arr2[]=transform(arr);System.out.println(Arrays.toString((arr2)));}

运行结果

四、调整数组顺序使得奇数位于偶数之前。调整之后,不关心大小顺序。

如数组:[1,2,3,4,5,6]        调整后可能是:[1, 5, 3, 4, 2, 6]

思路

遍历数组,定义i,j下标,如果i下标遇到的对应元素为奇数,i往后走,j下标遇到的对应元素是偶数,j往前走

代码实现

        public static void reorder(int[] array){int i = 0;int j = array.length-1;while (i <j) {while (i < j && array[i] % 2 != 0) {i++;//如果i下标遇到的对应元素为奇数,i则往后走}while (i < j && array[j] % 2 == 0) {j--;//如果j下标遇到的对应元素为偶数,j则往前走}int tmp = array[i];array[i] = array[j];array[j] = tmp;}}public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请您输入数组的长度");int n=sc.nextInt();int[] array=new int[n];System.out.println("请您输入数组的值");for (int i = 0; i < array.length; i++) {array[i]=sc.nextInt();}reorder(array);System.out.println(Arrays.toString(array));}

运行结果

五、两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

思路

遍历数组元素,当数组元素与给出的目标值相等时返回该数组元素下标

代码实现

    public static int[] Nums(int[] nums,int target){for (int i = 0; i < nums.length; i++) {for (int j = i+1; j < nums.length; j++) {if(nums[i]+nums[j]==target){return new int[]{i,j};}}}return null;}public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请您输入数组的长度");int n=sc.nextInt();int[] nums=new int[n];System.out.println("请您输入数组的值");for (int i = 0; i < n; i++) {nums[i]=sc.nextInt();}System.out.println("请您输入一个数");int target = sc.nextInt();int[] arr = Nums(nums, target);System.out.println(Arrays.toString(arr));}

运行结果

六、只出现一次的数字

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

思路

遍历数组,通过异或^运算,返回元素,因为只有一个元素只出现一次以外,其余元素都出现两次,所以进行遍历,因为a^a=0,异或卡在哪里,则哪个元素位置在哪里

异或运算的特点:

1.任何数和0做异或运算,结果还是原来那个数字,即a^0=a

2.任何数和本身做异或运算,结果为0,即a^a=0

3.异或运算满足交换律和结合律

代码实现

 public static void main(String[] args) {int arr[]={0};Scanner sc=new Scanner(System.in);int n= sc.nextInt();arr=new int[n];for (int i = 0; i < n; i++) {arr[i]= sc.nextInt();}int num=Num(arr);System.out.println(num);}public static int Num(int[] arr) {int num = 0;int length = arr.length;for (int i = 0; i < length; i++) {num ^= arr[i];}return num;}

运行结果

七、多数元素

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

你可以假设数组是非空的,并且给定的数组总是存在多数元素

思路

传定数组,通过for循环,定义变量,对每一个数再for循环进行遍历,如果有重复的数则再加一,最后判定重复的次数是否大于数组长度的一半,如果是则返回这个重复的数

代码实现

   public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] arr = {0};arr = new int[n];System.out.println("请输入数组元素(多数元素)");for (int i = 0; i < arr.length; i++) {arr[i] = sc.nextInt();}int newnum = MoreNum(arr);System.out.println(newnum);}public static int MoreNum(int[] arr) {int count = 0;for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr.length; j++) {if (arr[i] == arr[j]) {count++;}if (count > arr.length / 2) {return arr[i];}}}return -999;}

运行结果

八、存在连续三个奇数的数组

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

思路

遍历数组,如果遇到数目是奇数,则判断它的下一个和下下个数目是不是奇数,如果是则返回true,如果不存在则返回false

代码实现

    public static boolean Judge(int[] arr) {for (int i = 0; i < arr.length - 2; i++) {if (arr[i] % 2 == 1) {if (arr[i + 1] % 2 == 1) {if (arr[i + 2] % 2 == 1) {return true;}}}}return false;}public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请您输入数组存储个数");int n= sc.nextInt();int[] arr;arr=new int[n];System.out.println("请您输入数组元素");for (int i = 0; i < arr.length; i++) {arr[i]= sc.nextInt();}boolean a=Judge(arr);System.out.println(Judge(arr));}

运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/138599.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matplotlib从起点出发(11)_Tutorial_11_TightLayout

如何使用紧凑的而已来干净利落地将绘图放入图形中。 tight_layout会自动调整子图参数&#xff0c;使子图适合图区域。这是一项实验性功能&#xff0c;在某些情况下可能不起作用。它仅检查刻度标签、轴标签和标题的范围。 tight_layout的替代方法是constrained_layout。 1 简…

使用电脑时提示msvcp140.dll丢失的5个解决方法

“计算机中msvcp140.dll丢失的5个解决方法”。在我们日常使用电脑的过程中&#xff0c;有时会遇到一些错误提示&#xff0c;其中之一就是“msvcp140.dll丢失”。那么&#xff0c;什么是msvcp140.dll呢&#xff1f;它的作用是什么&#xff1f;丢失它会对电脑产生什么影响呢&…

pytorch基础语法问题

这里写目录标题 pytorch基础语法问题shapetorch.ones_like函数和torch.zeros_like函数y.backward(torch.ones_like(x), retain_graphTrue)torch.autograd.backward参数grad_tensors: z.backward(torch.ones_like(x))来个复杂例子z.backward(torch.Tensor([[1., 0]])更复杂例子实…

C# 查询腾讯云直播流是否存在的API实现

应用场景 在云考试中&#xff0c;为防止作弊行为的发生&#xff0c;会在考生端部署音视频监控系统&#xff0c;当然还有考官方监控墙系统。在实际应用中&#xff0c;考生一方至少包括两路直播流&#xff1a; &#xff08;1&#xff09;前置摄像头&#xff1a;答题的设备要求使…

Activiti6工作流引擎:Form表单

表单约等于流程变量。StartEvent 有一个Form属性&#xff0c;用于关联流程中涉及到的业务数据。 一&#xff1a;内置表单 每个节点都可以有不同的表单属性。 1.1 获取开始节点对应的表单 Autowired private FormService formService;Test void delopyProcess() {ProcessEngi…

笔记:AI量化策略开发流程-基于BigQuant平台(一)

从本文开始&#xff0c;按照AI策略开发的完整流程&#xff08;共七步&#xff09;&#xff0c;上手在BigQuant平台上快速构建AI策略。本文首先介绍如何使用证券代码模块指定股票范围和数据起止日期。重要的事情说三遍&#xff1a;模块的输入端口有提示需要连线的上游数据类型&a…

报错信息Update your application‘s configuration

在使用Maven项目时&#xff0c;有一个报错信息是&#xff1a;Update your applications configuration 这类问题&#xff0c;就是我们的application.yml文件 或者 application.properties文件 内容哪里写错了 我的问题是格式对齐方式出错&#xff0c;如下&#xff1a; 修改过后…

设计模式JAVA

1 创建型 如何合理的创建对象&#xff1f; 1.1 单例模式 字面意思就是只能创建一个对象实例时使用。 例如&#xff0c;Windows中只能打开一个任务管理器&#xff0c;这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费&#xff0c;或出现各个窗口显示内容的不一致等…

为什么要学习去使用云服务器,外网 IP能干什么,MAC使用Termius连接阿里云服务器。保姆级教学

目录 引言 可能有人想问为什么要学习云服务器&#xff1f; &#xff08;获取Linux环境&#xff0c;获得外网IP) 二、安装教程 引言 可能有人想问为什么要学习云服务器&#xff1f; &#xff08;获取Linux环境&#xff0c;获得外网IP) 1.虚拟机&#xff08;下策&#xff09; …

Python零基础小白常遇到的问题总结

文章目录 一、注意你的Python版本1.print()函数2.raw_input()与input()3.比较符号&#xff0c;使用!替换<>4.repr函数5.exec()函数 二、新手常遇到的问题1、如何写多行程序&#xff1f;2、如何执行.py文件&#xff1f;3、and&#xff0c;or&#xff0c;not4、True和False…

LINUX入门篇【4】开发篇--开发工具vim的使用

前言&#xff1a; 从这一篇开始&#xff0c;我们将正式进入使用LINUX进行写程序和开发的阶段&#xff0c;可以说&#xff0c;由此开始&#xff0c;我们才开始真正去使用LINUX。 介绍工具&#xff1a; 1.LINUX软件包管理器yum&#xff1a; 1.yum的介绍&#xff1a; 在LINUX…

【教3妹学编程-算法题】2923. 找到冠军 I

3妹&#xff1a;2哥2哥&#xff0c;你看到新闻了吗&#xff1f;襄阳健桥医院院长 公然“贩卖出生证明”&#xff0c; 真是太胆大包天了吧。 2哥 : 我也看到新闻了&#xff0c;7人被采取刑事强制措施。 就应该好好查查他们&#xff0c; 一查到底&#xff01; 3妹&#xff1a;真的…

Oracle(18)Auditing

文章目录 一、基础知识1、审计介绍2、Auditing Types 审计类型3、Auditing Guidelines 审计准则4、Auditing Categories 审核类别5、Database Auditing 数据库审计6、Auditing User SYS 审计sys用户7、Getting Auditing Informatio 获取审计信息8、获取审计记录通知 二、基础操…

赛氪助力全国大学生数学竞赛山东赛区圆满举办

近日&#xff0c;全国大学生数学竞赛山东赛区比赛有序进行&#xff0c;赛氪已连续6年助力本项赛事蓬勃发展。在中国高等教育学会高校竞赛评估与管理体系研究专家工作组发布的《2022全国普通高校大学生竞赛分析报告》中&#xff0c;本赛事荣登观察目录。 全国大学生数学竞赛旨在…

基于STC12C5A60S2系列1T 8051单片机串口通信信应用

基于STC12C5A60S2系列1T 8051单片机串口通信应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机串口通信介绍STC12C5A60S2系列1T 8051单片机串口通信的结构基于STC12C5A60S2系列1T 8051单片机串口通信的特殊功能寄存器列表基于STC12C5A60S2系列1T 8051单片…

高校教务系统登录页面JS分析——长沙理工大学教务系统

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文&#xff0c;你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文将是本专栏最后一篇文章&#xff0c;我看了绝大多数高…

【代码随想录】算法训练计划18

1、513. 找树左下角的值 题目&#xff1a; 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 思路&#xff1a; 递归&#xff0c;规则&#xff0c;基本可以自己写出来 var maxDepth int var res int fun…

Spring Gateway基础知识总结

本文主要总结Spring Gateway的基础用法&#xff0c;内容包括网关、Spring Gateway工作流程、Spring Cloud Gateway搭建、路由配置方式、负载均衡实现、断言工厂这几个部分 目录 1. 网关 1.1 网关介绍 1.2 网关对比 1.3 Spring Gateway 1.4 核心概念 1.6 总结 2. Spring …

React进阶之路(二)-- 组件通信、组件进阶

文章目录 组件通信组件通信的意义父传子实现props说明子传父实现兄弟组件通信跨组件通信Context通信案例 React组件进阶children属性props校验组件生命周期 组件通信 组件通信的意义 组件是独立且封闭的单元&#xff0c;默认情况下组件只能使用自己的数据&#xff08;state&a…

【C++破局】C++内存管理之new与deleted剖析

​作者主页 &#x1f4da;lovewold少个r博客主页 ⚠️本文重点&#xff1a;c内存管理部分知识点梳理 &#x1f449;【C-C入门系列专栏】&#xff1a;博客文章专栏传送门 &#x1f604;每日一言&#xff1a;花有重开日&#xff0c;人无再少年&#xff01; 目录 C/C的内存分配机…