算法
wx_17819660359
这个作者很懒,什么都没留下…
展开
-
最大公约数
最大公约数原创 2022-05-20 18:14:13 · 1084 阅读 · 0 评论 -
题目:判断101-200之间有多少个素数,并输出所有素数。
题目:判断101-200之间有多少个素数,并输出所有素数。分析:不能被2整除的称为质数。错解:for(int i=101;i<=200;i++){ if(i%2!=0){ println(i); }}原因:比如121,虽然不能被2整除,但是不是质数。因为它能够被11整除。方法:判定一个质数m的方法,采用试除法,使用m来去除以2到sqrt(m)之间的数,如果整除说明不是质数。反之,则是质数。int count=0; //用于计数 for(int原创 2022-04-26 21:00:57 · 1743 阅读 · 0 评论 -
模仿实现数组的添加一个元素add()
第一步:新建一个数组,扩容+1第二步:判断插入位置和数组位置是否相等。相等的话,将当前数组位置以及后面的数全部后移一位。第三步:将元素插入到准备插入的位置/*** @author zhangrichao* @version 创建时间:2019年1月21日 下午7:55:33* 实现数组的add添加操作*/public class Add { public static in...原创 2019-01-21 20:27:08 · 502 阅读 · 0 评论 -
实现数组的delete()方法
第一步:实现原数组自我删除。删除的位置,会被后一位给替代,以此循环。第二步:将删除完的数组赋值给新数组,实现数组容量-1的操作* 实现数组的delete()方法*/public class Delete { public static int[] delete(int index,int[] a){ int[] n=new int[a.length-1]; int k...原创 2019-01-21 21:49:25 · 2008 阅读 · 0 评论 -
用Java实现 打印九九乘法口诀
实现九九乘法口诀。关键是要明白行与列的对应关系。* 打印九九乘法口诀*/public class JiuJiu { public static void main(String[] args) { for(int i=1;i<10;i++){ for(int j=1;j<=i;j++){ System.out.print(i+"*"+j+"="+i...原创 2019-01-22 09:29:21 · 439 阅读 · 0 评论 -
用Java实现最快速度的数组交集
算法一、暴力破解法,遍历两个数组,比较值。借用第三个数组来装载相同的值。时间复杂度为O(n). public static int[] intersect(int[] arr1,int[] arr2){ int N=0; if(arr1.length&gt;arr2.length){ N=arr2.length; }else{ N=arr1....原创 2019-01-22 10:37:45 · 495 阅读 · 0 评论 -
实现数组的翻转reverse操作
算法一:用一个辅助数组来承接原数组的值。原数组从末尾开始输出,直到第一位。时间复杂度O(n)public int[ ] reverse(int[ ]a){ int[ ]n=new int[a.length]; int k=0; for(int i=a.length-1;i&gt;=0;i--){ n[k++]=a[i]; } return n...原创 2019-01-23 10:04:18 · 2781 阅读 · 0 评论 -
用Java实现两个栈实现一个队列
/*** @author zhangrichao* @version 创建时间:2019年1月23日 上午10:39:15* 用两个栈实现队列*/public class StatckQueue { private Stack<Integer> stackA=new Stack<Integer>(); private Stack<Integer>...原创 2019-01-23 11:35:04 · 229 阅读 · 0 评论 -
Java 用两个队列实现一个栈
比如我要去实现一个1 2 3 4 5 6 通过两个队列去输出6 5 4 3 2 1.思想:一.数组翻转的思想。二.每次都在空的一端插入,插入完把旧队列反转过来,以此循环三.使用链表数组来表示队列,可以不用考虑初始化长度。刚开始插入1.1插入212插入3321插入4...原创 2019-01-23 17:09:33 · 1621 阅读 · 0 评论 -
用java求两个字符串的最长公共子串
package al;/**@author zhangrichao@version 创建时间:2019年1月9日 下午6:55:30求两个字符串的最长公共子串*/public class CommonString {public static String cs(String str1,String str2){//变成字符串数组str11String[] str11=str...原创 2019-01-10 10:26:54 · 3204 阅读 · 0 评论 -
用java实现6N+1质数筛选法(图解算法)
数学知识:所有的数都能够用6N+X的形式来表示,由于6N+2,6N+3,6N+4均不可能是质数。所以质数只能是形如6N+1和6N-1的形式来表示。以求100个数内的质数为例。根据公式6N-1和6N+1,满足6N+1<=100这个条件。----5-7---11-13---17-19---23-25---29-...原创 2019-01-20 16:53:36 · 787 阅读 · 3 评论 -
困扰了我三年之久的一道计算机C++二级题目
package al;public class Xiandai { public static void main(String args[]) { int a[][] = {{2, 3, 4}, {4, 6, 5}}; int b[][] = {{1, 5, 2, 8}, {5, 9, 10, -3}, {2, 7, -5, -18}}; int...原创 2018-04-21 15:51:58 · 322 阅读 · 0 评论 -
父类、子类的逻辑关系代码
父类:构造函数其实也是一个方法子类:继承能够实现父类的方法测试类:输出自己想要的效果原创 2018-04-21 16:12:37 · 286 阅读 · 0 评论 -
java求完数的三种方法
package al;/*** @author zhangrichao* @version 创建时间:2019年1月6日 下午8:55:34* 求完数*/第一种方法:减法方式public class PerfectNumber { public static void PerfectN(){ for(int a=2;a<=1000;a++){ ...原创 2019-01-06 21:42:46 · 18907 阅读 · 0 评论 -
用Java实现斐波那契数列的非递归形式
/*** @author zhangrichao* @version 创建时间:2019年1月17日 下午9:16:31* 斐波那契的非递归形式*/public class FactorialA { public static int factorial(int n){ int f0=1; int f1=1; int i=2; int fn...原创 2019-01-17 21:32:19 · 1192 阅读 · 3 评论 -
实现一个数字如1324倒序输出为4231
第一种解法:(变成数组,然后倒序输出,不过面试官不太喜欢接口类)public static void Number(int n){ String s=n+""; char[] c=s.toCharArray(); ArrayList<Character> a=new ArrayList<Character>(); for(int i...原创 2019-01-17 22:10:39 · 316 阅读 · 0 评论 -
给定一个数字n,实现1^2+2^2+3^2+.....+n^2的总值,用递归来实现
public static int sumNumber(int i){ int sum=0; if(i==1){ sum=1; }else{ sum+=i*i+sumNumber(i-1); } return sum; }原创 2019-01-17 23:44:20 · 5512 阅读 · 0 评论 -
用java实现一个数组中奇数在左,偶数在右
奇数在左,偶数在右1.先定义一个同样长的数组k2.循环原数组a,k数组获得奇数。3.再次循环原数组a,k数组获得偶数 public class OddAndEven { public static int[] addAndEven(int[] a){ int[] k=new int[a.length]; int j=0; ...原创 2019-01-19 19:50:18 · 1912 阅读 · 0 评论 -
用java实现快速排序算法
1.选择一个比较值c,以数组的第一个为例。2.从右边开始查找比c小的值,再从左边开始查找比c大的值,进行互换。3.当左边和右边同时指向一个值v(比c小,因为是从右边开始递减的),会退出当前循环。4.交换c和v的值,返回v所在的地址。5.递归,以此类推public class QuickSort { public static int[] quickSort(int[] a,in...原创 2019-01-20 10:26:30 · 20329 阅读 · 0 评论 -
写一个程序输出1到100这些数字。但是遇到数字为3的倍数的时候,输出“三”替代数字,为5的倍数用“五”替代,既是3的倍数又是5的倍数则输出“三五”
写一个程序输出1到100这些数字。但是遇到数字为3的倍数的时候,输出“三”替代数字,为5的倍数用“五”替代,既是3的倍数又是5的倍数则输出“三五”public class ThreeAndFive { public static void main(String[] args){ for(int i=0;i&lt;100;i++){ if(i%3==0&amp;&amp;...原创 2019-01-20 10:32:39 · 7133 阅读 · 0 评论 -
用java实现 质数查找之筛选法详解
筛选法(求1~n中的质数)用来除以2的倍数,是合数就置为0.用来除以3的倍数,是合数就置为0.用来除以4的倍数,是合数就置为0.…用来除以√n的倍数,是合数就置为0.void isPrime(int n){ int[] arrays=new int[N+1]; for(int i=1;i&lt;N+1;i++){ arrays[i]=i; //数组里面的...原创 2019-01-20 15:31:33 · 800 阅读 · 0 评论 -
青蛙跳
package al;//一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。public class Frog { public int JumpFloor(int target) { if(target<0){ return -1; } if(target==1||target==2){ return target; }else{ ...原创 2018-05-03 09:45:12 · 182 阅读 · 0 评论