Java
gaoster
努力努力再努力
展开
-
JVM的学习
1. 类加载器子系统Java的动态类加载功能是由类加载器子系统处理。当它在运行时(不是编译时)首次引用一个类时,它加载、链接并初始化该类文件。1.1 加载类由此组件加载。启动类加载器 (BootStrap class Loader)、扩展类加载器(Extension class Loader)和应用程序类加载器(Application class Loader) 这三种类加载器帮助完成类的加载。启动类加载器 – 负责从启动类路径中加载类,无非就是rt.jar。这个加载器会被赋予最高优先级。原创 2020-10-03 00:16:35 · 169 阅读 · 0 评论 -
JDBC连接数据库操作
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;import javax.sql.DataSource;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class TestJDBC { private static void tes原创 2020-10-02 22:08:09 · 205 阅读 · 0 评论 -
SSM框架介绍以及功能原理
SSM是sping+springMVC+mybatis集成的框架。Spring框架概述1.1 什么是SpringSpring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发原创 2020-10-02 22:05:59 · 5584 阅读 · 3 评论 -
中国牛市
public class Solution { /** * 计算你能获得的最大收益 * * @param prices Prices[i]即第i天的股价 * @return 整型 */ public int calculateMax(int[] prices) { int max=0; for(int i=1;i<prices.length;i++) { int le原创 2020-07-11 22:58:45 · 201 阅读 · 0 评论 -
小孩上楼梯
public int countWays(int n){int a = 1,b = 2,c = 4;if (n== 1){return a;}else if (n == 2){return b;}else if (n == 3){return c;}else {for (int i = 4 ;i <= n;i++){int temp = ((a+b)%1000000007+c)%1000000007;a = b;b = c;c = temp;}return c;}}原创 2020-07-08 16:05:09 · 231 阅读 · 0 评论 -
石头剪刀布JAVA 牛客网
import java.util.Scanner;public class Jock0708 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int n = sc.nextInt(); int[] arr1 = new int[3];//记录第一个人胜平负的次数.原创 2020-07-08 15:55:09 · 193 阅读 · 0 评论 -
简单错误记录(前8条)
import java.util.*;public class Main{public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Map<String, Integer> map = new LinkedHashMap<>(); //保证按插入时的顺序存放元素 while (scanner.hasNext()) {原创 2020-07-06 17:33:30 · 183 阅读 · 0 评论 -
说反话(20)
public static void main(String[] args) throws ParseException, IOException{ Scanner sc = new Scanner(System.in); String s = sc.nextLine().trim(); String[] s1 = s.split(" +"); for(int i = s1.length-1;i>=0;--...原创 2020-07-06 17:31:50 · 224 阅读 · 0 评论 -
守行数
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()){ int n =sc.nextInt(); int N_2 = n*n; int count =0;原创 2020-07-03 09:27:51 · 186 阅读 · 0 评论 -
IP与整数的转换 牛客网Java
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { String ip = scanner.nextLine(); String ip10 = scanner.n原创 2020-07-02 18:26:42 · 93 阅读 · 0 评论 -
计票统计
package Test3;import java.util.LinkedHashMap;import java.util.Map;import java.util.Scanner;public class pCandidateName { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext())原创 2020-06-30 18:43:18 · 444 阅读 · 0 评论 -
数字之和
package Test3;import java.util.Scanner;public class Num_sum0630 { private static int num; public static void main(String[] args) { Scanner sc= new Scanner(System.in); while (sc.hasNext()){ int n = sc.nextInt();原创 2020-06-30 18:29:47 · 135 阅读 · 0 评论 -
人民币转换
```javapackage Test3;import java.util.Scanner;public class Tests0630 { public static void main(String[] args) { final String[] hanzi = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖", "拾" }; Scanner sc = new Scanner(System.in);.原创 2020-06-30 16:22:51 · 110 阅读 · 0 评论 -
绩点
package Test3;import java.util.Scanner;public class Test0630 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()){ int n = sc.nextInt(); int[] arr = new int[n]原创 2020-06-30 16:22:19 · 132 阅读 · 0 评论 -
找不同
class Solution { public char findTheDifference(String s, String t) { char res = 0; int s1 = s.length(); for(int i= 0;i<s1;i++){ res^=s.charAt(i)^t.charAt(i); } res^= t.charAt(s1); return re原创 2020-05-27 17:58:36 · 236 阅读 · 0 评论 -
双向链表和数组实现HashSet
class MyHashSet { class Node{ int val; Node prev,next; Node(int val){ this.val = val; } } private int length = 100; private Node[] data = new Node[length]; /** Initialize your data structure原创 2020-05-27 17:53:35 · 267 阅读 · 0 评论 -
两个数组的交集
class Solution { public int[] intersection(int[] nums1, int[] nums2) { if(nums1==null||nums1.length==0||nums2==null||nums2.length==0) return new int[0]; Set<Integer> set1 = new HashSet<>(); Set<Integer>原创 2020-05-20 16:16:58 · 148 阅读 · 0 评论 -
字符串中的第一个唯一字符
class Solution { public int firstUniqChar(String s) { if(s.length()==1) return 0; HashMap<Character, Integer> count = new HashMap<Character, Integer>(); int n = s.length(); // build hash map : character and原创 2020-05-20 16:14:36 · 86 阅读 · 0 评论 -
两个数组的交集2
class Solution { public int[] intersect(int[] nums1, int[] nums2) {//两个数组的交集2 if(nums1.length>nums2.length){ return intersect(nums2,nums1); } HashMap<Integer,Integer> map = new HashMap<>(); for原创 2020-05-15 18:31:47 · 116 阅读 · 0 评论 -
同构字符串
class Solution{ public boolean isIsomorphic(String s, String t) { int n = s.length(); HashMap<Character,Character> map = new HashMap<>(); for(int i = 0; i<n ; i++){ char c1 = s.charAt(i); c原创 2020-05-15 17:40:20 · 154 阅读 · 0 评论 -
栈和队列
栈栈又称为堆栈,是一种运算受限的线性表,这是因为它仅允许在线性表的固定一端(表尾)进行插入、删除和读取元素等运算,不允许在其他任何位置进行运算。相关名词:栈顶、栈顶元素、栈底、进栈(压栈)、出栈(退栈)特点:后进先出时间复杂度:O(1)顺序存储结构需要一个数组和整型变量,利用数组来存储元素,利用整型变量存储栈顶元素的下标,通常用top表示,也叫栈顶指针。top=-1时表示栈空;压栈时,首先将top增1,用来指代新的栈顶位置,然后把新元素赋值到栈顶位置上;退栈时,先取出栈顶元素,然后top减原创 2020-05-15 16:40:01 · 116 阅读 · 0 评论 -
最近请求的次数
class RecentCounter { Queue<Integer> l; public RecentCounter() { l = new LinkedList(); } public int ping(int t) { l.add(t); while(l.peek()< t-3000){ l.poll(); } return l.size原创 2020-05-15 16:35:53 · 127 阅读 · 0 评论 -
约瑟夫问题
import java.util.*;public class Joseph { public int getResult(int n) { // write code here if(n<1) return -1; LinkedList<Integer> list = new LinkedList<Integer>(); int count = 2,i,curr=0; for(i=1原创 2020-05-15 16:35:02 · 83 阅读 · 0 评论 -
猫狗收容所
import java.util.*;public class CatDogAsylum { public ArrayList<Integer> asylum(int[][] ope) {//猫狗收容所 // write code here ArrayList<Integer> input = new ArrayList<...原创 2020-05-05 16:32:50 · 176 阅读 · 0 评论 -
设计循环双端队列
class MyCircularDeque { int [] myquque; int front;//队头指针 int rear;//队尾指针 int size;//队列长度 int capacity;//队列的容量 /** Initialize your data structure here. Set the size of the deque...原创 2020-05-01 15:05:07 · 109 阅读 · 0 评论 -
栈的压入
import java.util.ArrayList;import java.util.Stack;public class Solution { public boolean IsPopOrder(int [] pushA,int [] popA) { if(pushA.length==0||popA.length==0||pushA.length!=popA.lengt...原创 2020-04-27 13:35:14 · 129 阅读 · 0 评论 -
比较含退格的字符
class Solution { public boolean backspaceCompare(String S, String T) { Stack<Character> stack = new Stack(); Stack<Character> stack1 = new Stack(); for(char c: ...原创 2020-04-27 13:33:14 · 160 阅读 · 0 评论 -
股票价格跨度
class StockSpanner { private List<Integer> list; private List<Integer> rests; public StockSpanner() { list = new ArrayList<>(); rests = new ArrayList<>(); } public ...原创 2020-04-24 18:11:07 · 132 阅读 · 0 评论 -
插入排序/希尔排序/堆排序/冒泡排序
package Test0407;import java.util.Arrays;public class TestSort0409 { public static void insertSort(int[] array){//插入排序 //通过bound 来划分出两个区间 //[0,bound)已排序区间 //[bound,size...原创 2020-04-11 14:20:02 · 71 阅读 · 0 评论 -
最后一块石头的重量
class Solution { public int lastStoneWeight(int[] stones) { if(stones.length == 1) return stones[0]; int index = stones.length - 1; //每次操作最大数的下标 Arrays.so...原创 2020-04-11 14:07:43 · 158 阅读 · 0 评论 -
优先队列实现
package Test0407;public class MyPriorityQueue {//优先队列 //array 其实应该是堆 private int[] array = new int[100]; private int size = 0; public void offer(int x){//入队列 array[size] = x...原创 2020-04-08 15:43:11 · 118 阅读 · 0 评论 -
二叉树遍历
package Test0331;class Node{ public char val; public Node left; public Node right; public Node(char val) { this.val = val; }}public class TestTree { public static ...原创 2020-04-08 15:41:43 · 66 阅读 · 0 评论 -
找到小镇的法官
class Solution { public int findJudge(int N, int[][] trust) { int[] cnt = new int[N+1];//统计出入度 for (int[] index : trust) {//记录数组中出现的每个人的出入度 cnt[index[0]]--;//出度-- ...原创 2020-04-08 15:38:02 · 92 阅读 · 0 评论 -
设计单向链表的实现
public class ListNode{//设计单向链表的实现 int val; ListNode next; ListNode(int x){ val = x; }}class MyLinkedList { int size; ListNode head; /** Initialize your data stru...原创 2020-04-08 15:18:24 · 211 阅读 · 0 评论 -
将数组分成相等的三个部分
class Solution { public boolean canThreePartsEqualSum(int[] A) {//将数组分成相等的三个部分 int sum = 0; for(int i: A){ sum += i; } if(sum%3!=0){ return ...原创 2020-04-08 14:54:51 · 146 阅读 · 0 评论 -
判断二叉树是否是完全二叉树
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { publ...原创 2020-04-04 19:36:53 · 164 阅读 · 0 评论 -
二叉树基本概念总结
1.掌握树的基本概念树:是一类重要的非线性数据结构,是以分支关系定义的层次结构。每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树2. 掌握树的相关概念节点的度:一个节点含有的子树的个数称为该节点的度; 如上图:A的为6叶节点或终端节点:度为0的节点称为叶节点; 如上图:B、C、H、I…等节点为叶节点...原创 2020-04-04 19:09:12 · 195 阅读 · 0 评论 -
顺序表实现扑克牌小游戏
package Test0327;import java.util.ArrayList;import java.util.Collections;import java.util.List;//表示一张牌class Card{ private String rank;//点数 private String suit;//花色 public Card(Stri...原创 2020-03-27 18:11:28 · 550 阅读 · 0 评论 -
二维网格迁移
class Solution {//思路是:找到右移后数组第一个元素 在原来数组中的位置,从这里开始遍历元素加入列表,列满行+1,行满行归零 public List<List<Integer>> shiftGrid(int[][] grid, int k) { // 准备返回的列表 List<List<Integer&g...原创 2020-03-23 20:38:53 · 145 阅读 · 0 评论 -
实现方法 index实现方法 replace, 能够替换字符串中的某个部分/实现方法 contains, 能够判定字符串中是否包含子串/实现方法 compareTo, 能够实现按照字典序比较字符串大小
package String0318;public class String0318 { public static void main(String[] args) { String str="Hello World"; indexOf(str); replace(str); contains(str); ...原创 2020-03-18 15:22:22 · 226 阅读 · 0 评论