java 算法练习题
/*** 给出一个排序好的数组和一个数,求数组中连续元素的和等于所给数的子数组** @param args*/public static void main(String[] args) {int[] num = {1, 2, 2, 3, 4, 5, 6, 7, 8, 9};int sum = 7;findSum(num, sum);findSum1(num, sum);}public static void findSum(int[] num, int sum) {int sum1 = 0;for (int i = 0; i < num.length - 1; i++) {sum1 = 0;for (int j = i; j < num.length; j++) {sum1 += num[j];if (sum1 == sum) {int temp = j < num.length ? j + 1 : j;for (int c : Arrays.copyOfRange(num, i, temp)) {System.out.print(c + " ");}System.out.println();}}}}public static void findSum1(int[] num, int sum) {int left = 0;int right = 0;for (int i = 0; i < num.length; i++) {int curSum = 0;left = i;right = i;while (curSum < sum) {curSum += num[right++];}if (curSum == sum) {for (int j = left; j < right; j++) {System.out.print(num[j] + " ");}System.out.println();}}}
/*** 找出数组中出现次数最多的数字** @param args*/public static void main(String[] args) {int[] num = {1, 4, 2, 4, 6, 4, 2, 6, 8, 2, 7, 7, 7, 7};System.out.println(getNumIndex(num));}public static int getNumIndex(int[] arr) {int count = 0;int index = 0;for (int i = 0; i < arr.length - 1; i++) {int temp = 1;for (int b = i + 1; b < arr.length; b++) {if (arr[i] == arr[b]) {temp++;}}if (temp > count) {count = temp;index = i;}}return arr[index];}
/*** 通过4个参数:一个起始数字、一个结束数字、一个数字间隔、一个数字;要求动态实现数字范围。参数如:* 起始数字0、结束数字10、间隔1,要求输出字符串数组:* ["0-1", "1-2", "2-3", "3-4", "4-5", "5-6", "6-7", "7-8", "8-9", "9-10"]* <p>* 起始数字10、结束数字50、间隔5,要求输出字符串数组:* ["10-15", "15-20", "20-25", "25-30", "30-35", "35-40", "40-45", "45-50"]* <p>* 方法传入以上3个参数实现数组输出。* 通过输入第4个数字参数,可以输出此参数在以上数组中的位置,并输出。* <p>* 如输出的数组为:* ["10-15", "15-20", "20-25", "25-30", "30-35", "35-40", "40-45", "45-50"]* <p>* 传入的数字参数为:37.51,输出该数组所在的范围:"35-40",如果不存在则返回null** @param args*/public static void main(String[] args) {List<String> arr = getArr(10, 56, 5);System.out.println(arr);System.out.println(getArrIndex(arr, 23.321));}/*** 获取指定数字在数组中那个区间的下标*/public static String getArrIndex(List<String> gapList, double num) {String indexStr = null;for (int i = 0; i < gapList.size(); i++) {String[] split = gapList.get(i).split("-");double a = Double.parseDouble(split[0]);double b = Double.parseDouble(split[1]);if (num > a && num <= b) {indexStr = gapList.get(i);break;}}return indexStr;}/*** 获取数组*/public static List<String> getArr(int start, int end, int gap) {List<String> strList = new ArrayList<>();int num = 0;for (int i = start; i + gap <= end; ) {strList.add(i + "-" + (i += gap));num = i;}if ((end - num) > 0) {strList.add(num + "-" + end);}return strList;}
java 算法练习题相关推荐
- java算法学不会_怪不得我学不会算法,原来是姿势不对!
大家好,今天给大家推荐一个算法可视化网站. 我们都知道,在人体的直接感官体验上,动画与图形相对于文字代码往往能带来更有冲击感的视觉效果,也更容易加深大脑对某项事物的认知程度. 而像算法这类,拥有完整逻 ...
- leetcode探索专题中的初级算法练习题(python代码+解题思路)
本文记录leetcode探索专题中的初级算法练习题,附python实现代码&解题思路,做题过程不免查阅网络资料,侵删~如有错误,欢迎指正交流! 目录 专题一:数组: 26.从排序数组中删除重复 ...
- 暑期集训2:ACM基础算法 练习题G:POJ - 1298
2018学校暑期集训第二天--ACM基础算法 练习题G -- POJ - 1298 The Hardest Problem Ever Julius Caesar lived in a time o ...
- 暑期集训2:ACM基础算法 练习题C:CF-1008A
2018学校暑期集训第二天--ACM基础算法 练习题A -- CodeForces - 1008A Romaji Vitya has just started learning Berlanes ...
- 暑期集训2:ACM基础算法 练习题B:CF-1008B
2018学校暑期集训第二天--ACM基础算法 练习题B -- CodeForces - 1008B Turn the Rectangles There are nn rectangles in ...
- 暑期集训2:ACM基础算法 练习题A:CF-1008C
2018学校暑期集训第二天--ACM基础算法 练习题A -- CodeForces - 1008C Reorder the Array You are given an array of inte ...
- java算法----排序----(6)希尔排序(最小增量排序)
1 package log; 2 3 public class Test4 { 4 5 /** 6 * java算法---希尔排序(最小增量排序) 7 * 8 * @param args 9 */ 1 ...
- 希尔排序的java算法_Java算法系列篇 【希尔排序】
什么? 搞Java不会算法? 由于个人兴趣原因以及工作所需,最近了解Java算法的相关案例 及时分享 感兴趣的欢迎交流 希尔排序 描述: 基本思想:先将整个待排序的记录序列分割成为若干子序列分别进行直 ...
- 1.1.10 从二分查找BinarySearch开启算法学习之路---《java算法第四版》
文章目录 0.前言 1.功能 2.示例 有两个名单tinyW.txt和tinyT.txt,将tinyT.txt名单中不在tinyW.txt的数据打印出来 ① 实现原理 ② 实现代码 ③ 性能分析 0. ...
最新文章
- pyqt label 设值时会进行加法_飞桨与PyQt的碰撞,图形化目标检测So Easy
- 【聊透SpringMVC】java找不到指定文件
- 七种Vue3传值方式
- 网络研讨室_即将举行的网络研讨会:调试生产中Java的5种最佳实践
- 高嘌呤食物搜索引擎_“高嘌呤”的食物已发现,尿酸高的人,要尽量挑着吃!...
- 开源、快速、高精度的椭圆检测—你值得拥有!
- Windows vpn 远程桌面 使用快捷键
- 【深度优先搜索】计蒜客:方程的解数
- Spark源码分析之Spark Shell(下)
- Java面试中如何介绍自己的项目经验?
- Java 大白话讲解设计模式之 -- 建造者(Builder)模式
- rational rose mysql_用Rational Rose逆向工程(java)生成类图(教程和错误解决)
- 计算机网络适配器高级属性,右击我的电脑——属性——设备管理器——1394网络适配器下面那个选项右击属性——高级——大量传送减负——...
- [转] 全套汽车标志,好不容易找到的哦!
- npm 卡住 type-fest@^0.20.2 问题解决
- 国外主流广告联盟大推荐
- 剑指 Offer 05. 替换空格无标题(正则表达式)
- TensorFlow 高维tenso常用工具函数
- python数据分析要求高性能计算机_Python数据分析初体验,需要解答的三大问题!...
- 二分法求函数的零点(二分不适合不变号零点的情况)
热门文章
- jmeter mysql plugin_jmeter连接mysql遇到的问题
- python爬虫requestsget_精讲Python中的requests方法
- python爬虫实验报告_python爬虫实验
- PTA 基础编程题目集 7-21 求特殊方程的正整数解 C语言
- 【c语言|Python】求一元二次方程ax^2+bx+c=0的根
- 怎么使图表居中显示_文字怎么排版又精美又好看?
- 遗传算法 python包_遗传算法 (Genetic Algorithm)
- 降低函数之间的耦合度
- Java基础班学习笔记(8)
- 第七章——DMVs和DMFs(2)——用DMV和DMF监控索引性能