随笔分类 -  Java

摘要:java注解的实现原理(1) 注解的本质就是一个继承了Annotation接口的接口 写在前面,在前面总结了java反射和动态代理的一些知识,同时之前没有仔细研究注解这块,只知道注解的实现原理是基于动态代理的,主要作用有一下: 1.编译检查:例如使用@SupperssWarnings,@Overri 阅读全文
posted @ 2021-07-20 16:05 BevisHe 阅读(1436) 评论(0) 推荐(0)
摘要:1.java反射 在java中每个类都有其对应的Class,我们可以在程序中通过其Class对象来获取该类的基本信息,生成该类的对象,运行该类的方法。 为了理解反射首先来了解一下什么事Class类,其实就是类的类,在java中我们会将所有编程的对象抽象成一个类也就是一个class,这个class就含 阅读全文
posted @ 2021-07-16 10:39 BevisHe 阅读(239) 评论(0) 推荐(0)
摘要:本文将结合java源码详细介绍ArrayList的底层实现: ​ 首先ArrayList的底层是一个Object类型的数组,当执行new ArrayList()的时候,数组的长度是0,当对象调用add()函数的时候,会创建一个初始长度为10的数组。在ArrayList里面有两个构造函数,无参的构造函 阅读全文
posted @ 2020-10-27 09:57 BevisHe 阅读(277) 评论(0) 推荐(0)
摘要:Java集合之一—HashMap woshimaxiao1 2018-11-02 23:59:41 132006 收藏 576 分类专栏: Java基础 集合 Map 文章标签: JAVA基础 集合 Map 最后发布:2018-11-02 23:59:41首发:2018-11-02 23:59:41 阅读全文
posted @ 2020-06-27 20:36 BevisHe 阅读(113) 评论(0) 推荐(0)
摘要:题目: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 思路: 1.暴力解法:对每个字符而言,将其作为子串的第一个字符,然后从字符串的后面开始遍历,找到可以使当前起始字符为头的回文串,对字符串所有字符都进行上述的操作,即可求取最长的回文子串,但是这样时间复杂 阅读全文
posted @ 2020-06-16 20:28 BevisHe
摘要:1.leetcode面试题08.04幂集 幂集。编写一种方法,返回某集合的所有子集。集合中不包含重复的元素。 说明:解集不能包含重复的子集。 解题思路: 1.构建出符合题目解的n叉树,即可根据树来设定结束回溯的条件,剪枝的条件,已经是否需要辅助数组 通过给出的关于解空间的n叉树,可以知道,需要在回溯 阅读全文
posted @ 2020-06-07 21:33 BevisHe 阅读(193) 评论(0) 推荐(0)
摘要:地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+ 阅读全文
posted @ 2020-03-04 22:52 BevisHe 阅读(171) 评论(0) 推荐(0)
摘要:剑指offer 11,12 1.旋转数组的最小数字 方法1: 1 public static int method2(int[] numbers){ 2 if(numbers.length == 1) return numbers[0]; 3 else{ 4 int firstNum,secondN 阅读全文
posted @ 2020-02-18 21:31 BevisHe 阅读(100) 评论(0) 推荐(0)
摘要:剑指offer10-1 10-2 1.斐波那契数列 方法1: 1 class Solution { 2 3 public int fib(int n){ 4 return fibGetN(n)%(1000000007); 5 } 6 7 public static int fibGetN(int n 阅读全文
posted @ 2020-02-17 20:06 BevisHe 阅读(120) 评论(0) 推荐(0)
摘要:剑指offer07-09 1.重建二叉树 方法1: 1 public static TreeNode buildTree(int[] preorder,int[] inorder){ 2 //非递归的方法 3 Stack<TreeNode> stack = new Stack<>(); 4 int 阅读全文
posted @ 2020-02-16 20:17 BevisHe 阅读(142) 评论(0) 推荐(0)
摘要:剑指offer 03.04 1.面试题03.数组中重复的数值 方法1.直接使用暴力查找的方法, public static int findRepeatNumber(int[] nums){ int[] arrs = new int[nums.length]; for (int i = 0; i < 阅读全文
posted @ 2020-02-14 15:00 BevisHe 阅读(148) 评论(0) 推荐(0)
摘要:什么是回溯法? S: 回溯法官网概念是一个类似枚举搜素尝试的过程,是一种选优搜索树,按照某个条件来向前搜索,如果满足条件的时候,就“回溯”,返回到树的上一层,重新试探其他的结果,直到遍历完所有的解空间。个人理解就是该问题的解可以构建一棵解空间树,该题就可以使用回溯法来解决,下面我们使用了N皇后这个经 阅读全文
posted @ 2019-11-20 22:56 BevisHe 阅读(395) 评论(0) 推荐(0)