Java经典算法题有哪些
这篇文章主要介绍“Java经典算法题有哪些”,在日常操作中,相信很多人在Java经典算法题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java经典算法题有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
为密山等地区用户提供了全套网页设计制作服务,及密山网站建设行业解决方案。主营业务为网站设计制作、网站设计、密山网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
题目一:
public class testClockwiseOutput { //顺时针打印一个矩阵 @Test public void test(){ int[][] num = new int[100][100]; int n = 4; int count =1; for(int i=0;i=end || end<=0)return; for(int i=start;i<=end;i++){ System.out.println(num[start][i]); } for(int i=start+1;i<=end;i++){ System.out.println(num[i][end]); } for(int i=end-1;i>=start;i--){ System.out.println(num[end][i]); } for(int i=end-1;i>start;i--){ System.out.println(num[i][start]); } output(num,start+1,end-1); } }
题目二:
给出一个排序好的数组和一个数,求数组中连续元素的和等于所给数的子数组
//给出一个排序好的数组和一个数,求数组中连续元素的和等于所给数的子数组 @Test public void test(){ int[] num = {1,2,2,3,4,5,6,7,8,9}; int sum = 7; findSum(num,sum); } public void findSum(int[] num,int sum){ int left=0; int right=0; for(int i=0;i题目三:
//字符数组组成的所有字符串 @Test public void test(){ //char[] cs = {'a','b','c','d','e'}; char[] cs = {'a','b','c'}; int length = cs.length; recursionSwap(cs,0,length); } public void swap(char[] cs,int index1,int index2){ char temp = cs[index1]; cs[index1]=cs[index2]; cs[index2]=temp; } public void recursionSwap(char[] cs,int start,int length){ if(start>=length-1){ print(cs); return; } for(int i=start;i题目四:
//数组组成的最小数 @Test public void test(){ int[] num={1,5,9,13,442,44,6,21,211}; qsort(num,0,num.length-1); System.out.println(Arrays.toString(num)); } public void qsort(int[] num,int left,int right){ if(lefttemp2){ return true; } else{ return false; } } 题目五:
//子数组***和 @Test public void test(){ int[] num = {1,-2,3,10,-4,7,2,-5}; //int[] num = {1,-2,3,10,-4,10,2,-5}; System.out.println(maxSum(num)); } public int maxSum(int[] num){ int curSum = 0; int curMaxSum = -99999999; int start = 0; int end = 0; for(int i=0;icurMaxSum){ curMaxSum = curSum; end = i; } } for(int i = start;i<=end;i++){ System.out.println(num[i]); } return curMaxSum; } 题目六:
public class testMinStack { //自定义栈,min函数得到当前最小值 @Test public void test(){ MinStack ms = new MinStack(); ms.push(5); System.out.println(ms.min()); ms.push(6); ms.push(2); ms.push(1); System.out.println(ms.min()); ms.pop(); System.out.println(ms.min()); ms.pop(); System.out.println(ms.min()); } } class MinStack{ private StackminStack = new Stack (); private Stack stack = new Stack (); public int pop(){ minStack.pop(); return stack.pop(); } public void push(int num){ if(minStack.size()<=0){ minStack.push(num); return; } Integer min = minStack.lastElement(); if(num 题目七:
//找出数组中出现次数大于一半的数 @Test public void test(){ int[] num = {1,2,2,2,2,2,2,4,2,4,6,4,2,6,8,2,7,7}; System.out.println(moreThanHaft(num)); } public int moreThanHaft(int[] num){ int result = -1; int times = 0; for(int i=0;i题目八:
//判断一个数组是否是另一个栈的出栈顺序 @Test public void test(){ int[] num = {1,2,3,4,5}; //int[] num1={1,2,3,5,4}; int[] num2={2,1,5,3,4}; Stacks1 = new Stack (); Stack s2 = new Stack (); for(int i=0;i<5;i++){ s2.push(num2[i]); } System.out.println(testOrder(num,s1,s2)); } public boolean testOrder(int[] num,Stack s1,Stack s2){ int length = num.length; for(int i=0;i 题目九:
//从扑克牌抽5张牌,0可以为任意数,判断是否是顺子 @Test public void test(){ int[] num = {0,1,5,3,2}; System.out.println(check(num)); } public boolean check(int[] num){ //0-13 int[] pai = new int[14]; for(int n : num){ pai[n]+=1; } qsort(num,0,num.length-1); int count = pai[0]; int start = 0; if(num[0]==0){ start=num[1]; } else{ start=num[0]; } for(int i = start;i<=start+5;i++){ if(pai[i]>1)return false; count += pai[i]; } if(count == 5)return true; else return false; } public void qsort(int[] num,int left,int right){ if(left=partition){ right--; } swap(num,left,right); while(left 题目十:
//输出第k个丑数(因子只有2,3,5) @Test public void test(){ findUglyNum(8); } public void findUglyNum(int index){ int[] num = new int[index]; int next = 1; num[0]=1; int index2=0; int index3=0; int index5=0; while(next到此,关于“Java经典算法题有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
本文名称:Java经典算法题有哪些
分享网址:http://lswzjz.com/article/pgsjed.html