热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java常见的数组相关笔试编程题

1.对正整数进行分解质因数如传入100,打印出2*2*5*5**思路:*首先找到一个最小的质数i*1.如果这个质数恰等于num,则说明分解质因数的过程已经结束,打印出即可*2.如

1.对正整数进行分解质因数

// 如传入100, 打印出2*2*5*5/** 思路:* 首先找到一个最小的质数i* 1. 如果这个质数恰等于num, 则说明分解质因数的过程已经结束, 打印出即可* 2. 如果num > i, 但num能被i整除, 则打印出i的值, 并用num除以i的商, 作为新的正整数num, 重复执行第一步* 3. 如果num不能被i整除, 则用i+1作为i的值, 重复执行第一步**/
public static void t0(int num) {for (int i &#61; 2; i <&#61; num; i&#43;&#43;) {while (num !&#61; i) {if (num % i &#61;&#61; 0) {System.out.print(i &#43; "*");num &#61; num / i;} else {break;}}}System.out.println(num);
}

2.在一个给定的从1到100的整型数组中&#xff0c;快速找到缺失的数字

/**思路:* 1. 首先对集合进行升序排序* 2. 在没有确实数字的情况下, &#96;排序后&#96;相邻间的两数字差值应为1, 需要处理的是差值大于1的 [差值为1和差值为0的不需要处理]** &#64;param arr 正整数数组 如int[] list &#61; {1, 10, 4, 2, 8, 3, 2, 13};**/
public static void t1(int[] arr) {if (arr !&#61; null) {ArrayList nums &#61; new ArrayList();int length &#61; arr.length;if (length &#61;&#61; 1) {System.out.println(nums);}Arrays.sort(arr);for (int i &#61; 0; i 1) {int x &#61; 0;while (x }

3.对字符串进行中的数字进行正序排序&#xff0c;并且字符串中字母的位置不变

//如&#xff0c;43a6f9d8, 输出34a6f8d9/**思路:* 1. 先遍历字符串取出其中的数字放进一个集合, 然后对集合进行正序排序* 2. 再次遍历字符串, 遇到字符为数字的, 取出数字字符集合numChars中的第一个元素(索引j&#61;0)放在此位置, 并对numChars下一个取出的元素索引定位为j&#43;&#43;**/
public static String t3(String str) {if (StringUtils.isBlank(str)) {return str;}ArrayList numChars &#61; new ArrayList<>();char[] chars &#61; str.toCharArray();for (int i &#61; 0; i }

4.在一个未排序的整型数组中, 找到最大和最小的数字

// 如&#xff0c;int[] list &#61; {-2, 1, 99, 10, 4, 2, -1, 8, 3, 2, 13, 0}&#xff1b;输出max: 99 ; min: -2/**思路:* 1. 初始化最大数字max和最小数字min为数组中第一个元素* 2. 将max和数组中"下一个"元素next比较, 如果next>max, 则max&#61;next* 3. 将min和数组中"下一个"元素next比较, 如果nextpublic static void t4(int[] arr) {if (arr !&#61; null) {int length &#61; arr.length;if (length &#61;&#61; 1) {System.out.println("the max num and min num both are: " &#43; arr[0]);} else {int max &#61; 0;int min &#61; 0;for (int i &#61; 0; i max) {max &#61; num;}if (num }

5.一个整型数组中&#xff0c;找到一个所有成对的数字&#xff0c;满足它们的和等于一个给定的数字

//如&#xff0c;int[] arr &#61; {-2, 1, 99, 10, 4, 2, -1, 8, 3, 2, 13}, sum为3; 找出 -1和4, 1和2即可;
//如&#xff0c;int[] arr &#61; {1, 1, 2, 3, 3, 1, 2, 0, 0}, sum为3; 找出1和2, 3和0即可
public static void t5_0(int[] arr, int sum) {if (arr !&#61; null) {int length &#61; arr.length;Arrays.sort(arr);HashSet set &#61; new HashSet<>();for (int i &#61; 0, j &#61; length - 1; i }

6.如果一个数组包含多个重复元素&#xff0c;找到这些重复的数字

//如&#xff0c;int[] arr &#61; {1, 1, 2, 3, 3, 4, 2, 0, 0}&#xff1b;输出0,1,2,3即可
public static void t6(int[] arr) {if (arr !&#61; null) {int length &#61; arr.length;Arrays.sort(arr);HashSet res &#61; new HashSet<>();for (int i &#61; 0; i }

7.Java 实现从一个给定数组中删除重复元素

//如&#xff0c;int[] arr &#61; {1, 1, 2, 3, 3, 4, 2, 0, 0}&#xff1b;输出 4
public static void t7(int[] arr) {if (arr !&#61; null) {int length &#61; arr.length;Arrays.sort(arr);ArrayList res &#61; new ArrayList<>();ArrayList repeatNums &#61; new ArrayList<>();for (int i &#61; 0; i }

8.Java实现数组反转

public static Object t8(int[] arr) {if (arr !&#61; null) {// 可以采用t8_t方法比较通用//t8_t(arr, 0, arr.length);int i &#61; 0;for (int j &#61; arr.length - 1; j > i; &#43;&#43;i) {int tmp &#61; arr[j];arr[j] &#61; arr[i];arr[i] &#61; tmp;--j;}}return ArrayUtils.toString(arr);
}private static void t8_t(int[] arr, int startIndexInclusive, int endIndexExclusive) {if (arr !&#61; null) {int i &#61; startIndexInclusive <0 ? 0 : startIndexInclusive;for (int j &#61; Math.min(arr.length, endIndexExclusive) - 1; j > i; &#43;&#43;i) {int tmp &#61; arr[j];arr[j] &#61; arr[i];arr[i] &#61; tmp;--j;}}
}


推荐阅读
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
author-avatar
纯De魔力_629
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有