算法笔记
加油
不更了
不更了
展开
-
vector【算法笔记】
import java.util.Vector;import java.lang.*;import java.util.Enumeration;public class VectorApp{ public static void main(String args[]) { Vector v1 = new Vector(); Integer integer1= new Integer(1); //加入为字符串对象 v1..原创 2020-11-11 21:57:21 · 232 阅读 · 0 评论 -
Queue使用【算法笔记】
import java.util.LinkedList;import java.util.Queue;// 压入元素(添加):add()、offer()// 相同:未超出容量,从队尾压入元素,返回压入的那个元素。// 区别:在超出容量时,add()方法会对抛出异常,offer()返回false//// 弹出元素(删除):remove()、poll()// 相同:容量大于0的时候,删除并返回队头被删除的那个元素。// .原创 2020-11-11 04:44:06 · 201 阅读 · 0 评论 -
基础迷宫问题【递归回溯】【算法笔记】
public class Main { public static void main(String[] args) { int[][] map = new int[8][7];//上下全部置1 for(int i = 0 ; i<7;i++){ map[0][i] = 1; map[7][i] = 1; }//左右全部置1 for (int i = 0; i<...原创 2020-11-10 14:59:54 · 251 阅读 · 0 评论 -
Arrays.sort() 一些写法拓展【算法笔记】
import java.util.Arrays;import java.util.Comparator;import java.util.Scanner;class Stu{ public String id; public String name;}public class Test { public static void main(String[] args) { /* * 注意,要想改变默认的排列顺序,不能使用基本类型(int,d.原创 2020-11-10 14:58:21 · 145 阅读 · 0 评论 -
大浮点数加减乘除【算法笔记】
import java.math.BigDecimal;public class BigDecimalDemo { static final int location=10; /** * @paramargs * 这个类提供精确的浮点数运算 */ public static BigDecimal add(double value1,double value2){ BigDecimal b1=new BigDecimal(Double.toString(value1)); Bi.原创 2020-11-10 14:57:09 · 262 阅读 · 0 评论 -
大整数加减乘除【算法笔记】
import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner s=new Scanner(System.in); String str1=null,str2=null; System.out.println("输入第一个操作数:"); str1=s..原创 2020-11-10 14:56:12 · 294 阅读 · 0 评论 -
N皇后【递归写法(基础版本,未优化)】【算法笔记】
//算法核心记忆点:当前行遍历所有列//未经优化的递归public class NQueen {// 思路://1.第一个皇后先放第一行第一列//2.第二个皇后放在第二行第一列、然后判断是否OK, 如果不OK,继续放在第二列、第三列、依次把所有列都放完,找到一个合适//3.继续第三个皇后,还是第一列、第二列……直到第8个皇后也能放在一个不冲突的位置,算是找到了一个正确解//4.当得到一个正确解时,在栈回退到上一个栈时,就会开始回溯,即将第一个皇后,放到第一列的所有正确解,全部得到.//5.原创 2020-11-10 14:54:55 · 151 阅读 · 0 评论 -
判断素数【算法笔记】
public static boolean is_prime(int num){ if (num<4) return num>1; if (num % 6 != 1 && num % 6 != 5)//质数 6n+1 或 6n-1(同6n+5)(n为自然数) return false; int sq=(int)Math.sqrt(num);//因数不超过sqrt(num) for (int i=5;i<.原创 2020-11-10 14:52:57 · 121 阅读 · 0 评论 -
求两个数的最大公约数和最小公倍数
设有两个数A,B,最小公倍数 = A*B 除以 最大公约数辗转相除法#include<stdio.h>int main(){int a;int b;int t;printf("请输入两个数求它们的公约数:");scanf("%d%d", &a, &b);if (a < b)//将较大的数的值放入a中{t = a;a = b;b =...原创 2019-06-01 16:17:48 · 523 阅读 · 0 评论 -
百鸡问题的四种(层)解法
例题:百鸡问题 有一个人有一百块钱,打算买一百只鸡。到市场一看,公鸡五块钱一只,母鸡三块钱一个,小鸡一块钱三只。现在,请你编一程序,帮他计划一下,怎么样买法,才能刚好用一百块钱买一百只鸡?首先先来认识一下,何谓暴力破解法?是指从可能的解集合(空间)中一一列举各情况,用题目给定的检验条件判定哪些是无用的,哪些是有用的。能使命题成立者,即为问题的解。基本思路:(1)建立问题的数学模型,确定问题...原创 2020-10-22 20:31:31 · 13297 阅读 · 0 评论 -
N皇后问题(非递归回溯)
简单说明一下N皇后的解决思路。1.初始化棋盘,即建立一个一维数组,储存一个初值(不是0到N-1就行);2.寻找N皇后:a.判断皇后是否可以放置...而要想让皇后可以被放置,就必须满足皇后与皇后之间没有行冲突,列冲突,对角线冲突。那么首先想到的思路就是将你放置在该行该列的皇后与前面已经放置的皇后进行冲突检测,只要有一个冲突了,则该皇后就不能被放置。 ...原创 2019-03-24 16:25:49 · 3158 阅读 · 0 评论 -
交换排序(冒泡、快排)(java)
交换排序:将排序表中两个记录的关键码比较,若与排序要求相逆,则将两者交换。一、.冒泡排序1.基本思想:对待排序序列从前往后,依次比较相邻元素的排序码,若发现逆序则交换,使排序码较大的元素逐渐从前部移向后部。2.代码结果:排序之前:[9, -16, 21, 23, -30, -49, 21, 30, 30]开始排序[-16, 9, 21, -30, -49, 21, 23, 30, 30][-16, 9, -30, -49, 21, 21, 23, 30, 30][-16, -3.原创 2020-10-28 18:42:13 · 1233 阅读 · 6 评论