Algorithm
日常算法练习
ambition_forever
闲谈莫论人非
展开
-
位数组排序
1、可以使用位数组排序的前提是数组中的元素不能有重复数字,而且这个数组可以无序,但数组中元素出现有最大范围限制。2、遍历元数组,将原数组的中的元素存放到事先创建好的位数组的指定位上。3、重新遍历位数组中的每个位如果为true的化,则附加到最终结果上。// 使用BitSet进行排序 private static String sortNums(Integer[] integers) { long start = System.currentTimeMillis();原创 2021-12-05 17:19:18 · 816 阅读 · 0 评论 -
二叉树最小最低公共祖先
public class Main { private static TreeNode<Integer> ans; private static boolean dfs(TreeNode<Integer> root, TreeNode<Integer> p, TreeNode<Integer> q) { if (root == null) { return false; } .原创 2021-08-21 09:29:40 · 125 阅读 · 0 评论 -
数组全全排列
public static List<List<Integer>> permute(int[] nums) { List<List<Integer>> res = new ArrayList<>(); int len = nums.length; if (len == 0) { return res; } Stack<Integer> path = new Stack<&.原创 2021-08-21 09:28:22 · 69 阅读 · 0 评论 -
出栈序列是否是入栈序列
public static boolean isPopOrder01(int[] pushA, int[] popA) { if (pushA.length == 0 || popA.length == 0) { return false; } int popIndex = 0; Stack<Integer> stack = new Stack<>(); for (int num : pushA) { st.原创 2021-08-28 16:45:54 · 81 阅读 · 0 评论 -
有序单链表合并递归实现
package LinkedListDemo;public class Main { public static Node mergeSortLinkedList(Node head1, Node head2) { if (head1 == null) { return head2; } if (head2 == null) { return head1; } .原创 2020-12-06 20:49:28 · 158 阅读 · 0 评论 -
最长递增子序列
package LongestIncrSub;import java.util.Arrays;import java.util.HashSet;/** * 功能描述 * 最长递增子序列 */public class Main { public static void getLongestIncrSub(int[] arr) { int len = arr.length; int[] dp = new int[len]; int[].原创 2020-12-06 10:24:44 · 79 阅读 · 0 评论 -
数组和两个数的和为20的组合
public class Test47 {public static void main(String[] args) {int []arr={1,7,17,2,6,3,14,16,4};for(int i=0;ifor(int j=i+1;jif(arr[i]+arr[j]==20){System.out.println(arr[i]+" "+arr[j]);}}原创 2017-05-06 09:56:58 · 536 阅读 · 0 评论 -
51762,然后给你要去掉的个数,例如2,如何选择去掉的位数,使剩下的数最小。
import java.util.Arrays;import java.util.Scanner;public class Test44 {public static void main(String[] args) {int num=51762;System.out.println("输入去掉的位数: ");Scanner in=new Scanner(Sys原创 2017-04-24 10:47:45 · 312 阅读 · 0 评论 -
17滴滴春招大题
package 套娃问题;import java.util.Collections;import java.util.Comparator;import java.util.LinkedList;import java.util.Scanner;class Node {public int w;public int h;public int原创 2017-04-22 21:08:21 · 250 阅读 · 0 评论 -
滴滴17春招大题
package 反转单词;//输入 I have a dream!//输出 I a evah !maerd import java.util.Scanner;public class Test01 {public static String reserve(String str) {if (str == null) {return null;}原创 2017-04-22 21:07:32 · 239 阅读 · 0 评论 -
二进制数中1的个数
public class OneNumber{ public static int getOneNumber(int num){ int sum = 0; while(num != 0){ num &= num - 1; sum++; } return sum; ...原创 2018-11-23 10:29:51 · 176 阅读 · 0 评论 -
三个数比较大小
public class Test01 {public static void main(String[] args) {int x=1;int y=3;int z=2;if(x>y){x=x^y;y=x^y;x=x^y;}if(x>z){x=x^z;z=x^z;x=x^z;}if(y>z){y=y^z;z=y^z;y=y^z原创 2017-04-21 11:18:08 · 368 阅读 · 0 评论 -
递归实现逆序输出字符串
public class Test48 {public static String reserve(String s){if(s==null || s.length()==0){return null;}int i=s.indexOf(" ");if(i==-1){return s; //当处理到最后一个单词的时候就需要这样处理了。}return reserve转载 2017-05-06 17:17:24 · 1276 阅读 · 0 评论 -
循环队列
package 循环队列;public class CirclyQueue {int [] arr=null; //数组,队列中最多存储arr.length-1个元素。int front; //队首指针int rear; //队尾指针int realLen;//队列长度public CirclyQueue(){this(10);}public Ci原创 2017-10-21 18:00:16 · 183 阅读 · 0 评论 -
Java工具&算法: 1、获取数组中随机一个元素&判断一个数字是否为回文数
public class JavaRandom{ public static void main(String[] args) { // Java获取数组中随机的一个元素 int [] arr = {1,2,3,4}; 产生0-(arr.length-1)的整数值,也是数组的索引 int index=(int)(Math.r...原创 2018-11-22 13:20:12 · 333 阅读 · 0 评论 -
判断一个数是否是素数
public class Prime{ public static boolean isPrime(int num){ System.out.println(num + "的开方是:" + Math.sqrt(num)); boolean flag = true; //默认为素数 if(num < 2){...原创 2018-11-25 14:13:38 · 204 阅读 · 0 评论 -
10000以内的完数
public class Sum{ //计算一个数字所有的约数 public static void getYuShu(int num){ int sum = 0; for(int i=num-1;i>=1;i--){ if(num % i ==0){ sum += i; ...原创 2018-11-25 14:15:00 · 943 阅读 · 0 评论 -
1、股票哪天买入哪天卖出效益最大
public class MaxProfit { private final int Len_Days = 20; private final int Max_Price = 100; private int buyDay = 0; private int sellDay =0; public int[] startPrice = new int[Le...原创 2019-03-24 18:54:52 · 497 阅读 · 0 评论 -
字符串输入文件
package day20170107;importjava.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;publicclass InputString { publicstatic void main(String[] args) {原创 2017-01-07 09:50:34 · 204 阅读 · 0 评论 -
猴子吃桃
public class Test01 {public static void fun1(){int m=1;for(int i=10;i>0;i--){m=2*m+2;}System.out.println("1: "+m);}public static void main(String[] args) {int after=1;for(int原创 2017-04-21 11:09:28 · 208 阅读 · 0 评论 -
Java字符串常用操作
package 字符常用方法;import java.util.Arrays;public class Test {// 将字节数组变换成字符串public static void fun1() {byte[] arr = { 65, 66, 67, 68 };String string = new String(arr);System.out.prin原创 2017-04-18 16:12:27 · 251 阅读 · 0 评论 -
单词频率的计算
package 知识点总和;import java.util.Map;import java.util.TreeMap;public class Test02 {public static void main(String[] args) {String []arr={"if","it","is","to","be","it","is","am","happy"原创 2017-04-17 20:00:56 · 310 阅读 · 0 评论 -
小知识看大学问
package day20170107;class X{Y y=new Y();public X(){System.out.print("X");}}class Y{public Y(){System.out.print("Y");}}class Z extends X{Y y=new Y();public Z(){Sys原创 2017-01-07 19:57:15 · 308 阅读 · 0 评论 -
main函数可以写多个
package day20170107;class MMM{public static void main(String[] args) {// TODO 自动生成的方法存根System.out.println("fafdasf");}}public class MainTest {public static void main(String[] args)原创 2017-01-07 16:24:01 · 998 阅读 · 0 评论 -
字符串问题。
package 面试题目;//==比较的是字符串连接池中的地址。。//equals 比较的真正的是内容不是其他的东西。public class StringDemo2 { public static void main(String[] args) { // TODO自动生成的方法存根 String str1="abc";原创 2017-01-07 11:13:00 · 155 阅读 · 0 评论 -
把一个数组中的组合全部列出 [1,2] 1, 12, 2,21
package day20170107;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Combination {public static void listAll(List candidate,String preifx){//原创 2017-01-07 10:34:50 · 447 阅读 · 0 评论 -
写一个Java应用程序,输入一个数求其平方和立方
package day20170107;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;class InputData {public static String string = null;public static原创 2017-01-07 09:33:29 · 9378 阅读 · 0 评论 -
Java实现了一个万年历
import java.util.Scanner; public class DaysCelandar { // 判断是不是闰月年 public static boolean isRun(int year) { if ((year % 4 == 0 && year % 100 != 0) || year %100 == 0) {原创 2017-01-04 09:11:02 · 5057 阅读 · 1 评论 -
写好自己的模板方法,以后要做的就是对于模板方法进行具体化了
package day05;//抽象类中的getTime();就是模板方法。。也就是这样的方法就做这样的事情。abstract class Model{public long getTime(){long s=System.currentTimeMillis();code(); long e=System.currentTimeMillis();return e原创 2016-11-13 10:03:19 · 183 阅读 · 0 评论 -
常见的网络设备
今天写的一点儿东西,感觉没有什么实际的用处。但是写出来还是感觉比较踏实!! new 是在对内存中开辟空间,为离散的结构 1:线性表的节点空间消耗比较大,这样会引起的问题是浪费了存储空间但是可以实现动态的扩充,对于大量的增加和删除操作比较合适。但是对于顺序表来说,大体就是固定的存储空间,适合随机访问,也就是按照序号来对于元素进行访问。单向链表插入和删除元素平均原创 2016-11-12 19:08:51 · 1221 阅读 · 0 评论 -
写不写static的巨大区别
package day20170107;public class NULL {public static void haha(){System.out.println("haha");}public static void main(String []args){((NULL)null).haha();}}原创 2017-01-07 20:08:17 · 659 阅读 · 0 评论 -
栈输入月份输出月份
package day20170108;import java.util.Stack;public class MonthStack {public static String[] months = { "January", "February", "March", "April","May", "June", "July", "August", "Septembe原创 2017-01-07 21:19:11 · 268 阅读 · 0 评论 -
统计字符串中字符出现次数
package 知识点总和;import java.util.HashMap;import java.util.Map;public class Test01 {public static Map getCharMaps(String string){Map map=new HashMap();for(int i=0;iCharacter charact转载 2017-04-17 19:46:39 · 656 阅读 · 0 评论 -
一个数被质数分解
package 一个数被质数分解;public class Test {public static void decompose(int n){System.out.print("n=");if(n==0 || n==1){System.out.print(n);}for(int i=2;iwhile(n%i==0 && n!=i){n=n/i;Sy原创 2017-04-11 10:44:22 · 533 阅读 · 0 评论 -
水仙花树;
package 水仙花树;// 100-999之间的水仙花数public class Test {public static boolean isNumber(int n) {boolean flag = false;int m = n;int sum = 0;int k = m / 100;m = n - k * 100;sum +原创 2017-04-11 10:24:34 · 428 阅读 · 0 评论 -
求数组中最大连续子数组的和
package 最大连续子数组;public class SubArray {public static void main(String[] args) {int[] arr = new int[] { 1, -2, 3, 10, -4, 7, 2, -5 };int sum = getArraySum(arr);System.out.println(sum);}原创 2017-04-10 21:58:18 · 288 阅读 · 0 评论 -
数据类型转化
package day18;public class day19 {public static void main(String[] args) {int a="abc".length();System.out.println(a);//3double d=10;Double dd=new Double(d);int ddd=dd.intValue();System原创 2017-02-21 11:44:39 · 209 阅读 · 0 评论 -
2017-01-09上午看了点儿面试的东西 感觉东西还行
package day14;public class StringDemo01 {/*public static void main(String[] args) {String i="";if(i==i+0){System.out.println("hello world");}else{System.out.println("123");}}*/原创 2017-01-09 11:18:28 · 192 阅读 · 0 评论 -
十二个月队列实现输入输出
package day20170108;import java.util.LinkedList;import java.util.Queue;public class MonthQueue {public static String[] months = { "January", "February", "March", "April","May", "June原创 2017-01-07 21:34:05 · 269 阅读 · 0 评论 -
Java栈和队列的用例
package com.ipmotor.sm.db;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;/** * 测试jdk中的栈和队列 * @author scott * */public class TestQueueAndStack {原创 2017-01-07 21:31:19 · 221 阅读 · 0 评论