自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (1)
  • 收藏
  • 关注

原创 【剑指Offer系列】38-输入abc输出a、b、c、ab、ac、bc、abc(通过StringBuilder的setLength()实现回溯)

输入abc输出其所有组合a、b、c、ab、ac、bc、abc:DFS

2020-09-15 19:37:52 497 1

原创 基排序

public class RadixSort { public static void main(String[] args) { int[] array = {7,112,6,21,22,330,10,5,88,91,15,3}; radix(array); System.out.println(Arrays.toString(array)); } private static void radix(int[] array) {

2020-09-15 09:38:20 271

原创 堆排序

public class HeapSort{ public static void main(String[] args) { int array[] = {4, 6, 8, 5, 9}; HeapSort heapSort = new HeapSort(); heapSort.heapSort(array); System.out.println(Arrays.toString(array)); } voi

2020-09-15 09:29:28 114

原创 快速排序

public class FastSort{ public static void main(String[] args) { int array[] = {19, 6, 22, 3, 9, 5, 23}; FastSort.fastSort(array, 0, array.length - 1); System.out.println(Arrays.toString(array)); } static void fastS

2020-09-15 09:28:32 105

原创 希尔排序

public class ShellSort{ public static void main(String[] args) { int array[] = {17,3,25,9,6,7}; ShellSort.shellSort(array); System.out.println(Arrays.toString(array)); } static void shellSort(int array[]) {

2020-09-15 09:27:41 100

原创 归并排序

public class MergeSort{ public static void main(String[] args) { int[] array = {17, 3, 25, 9, 6, 14, 2, 8}; int temp[] = new int[array.length]; MergeSort.mergeSort(array, 0, array.length - 1, temp); System.out.print

2020-09-15 09:26:53 86

原创 二分查找非递归

public class BinarySearch3{ public static void main(String[] args) { int array[] = {1, 3, 5, 7, 9, 9, 9, 9, 21, 33}; List<Integer> list = BinarySearch3.search(array, 9); System.out.println(list); } public sta

2020-09-15 09:24:48 107

原创 二分查找递归

public class BinarySearch2{ private static int array[] = {1, 3, 5, 7, 9, 9, 9, 9, 21, 33}; public static void main(String[] args) { List<Integer> resList = BinarySearch2.binary(array, 0, array.length - 1, 333); System.ou

2020-09-15 09:23:58 106

原创 【剑指offer系列】67-把字符串转换成整数(关键字:int最大值)

输入:"+123a "“-123a”“a123”“123a”输出123-1230123补充:大于2147483647 则取Integer.MAX_VALUE、小于-2147483648则取MIN_VALUEclass Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next();

2020-09-15 09:14:51 179

原创 【剑指offer系列】65-不使用+,-,*,/做加法运算(关键字:递归)

题目:不使用+,-,*,/做加法运算^ 异或,不同为1& 与,全1才1<<左移,相当于乘2public class Main65{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); System.out.

2020-09-15 09:12:17 101

原创 【剑指offer系列】64-求1+2+3···+n(关键字:三目运算符)

使用三目运算符计算1+2+3···+npublic class Main64{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.println(getSum(n)); } private static int getSum(int n) {

2020-09-15 09:11:15 121

原创 【剑指offer系列】63-股票的最大利润(大顶堆 + 滑动窗口)

买卖股票的最佳时机

2020-09-15 09:09:40 117 1

原创 【剑指Offer系列】62-圆圈中最后剩下的数字(同向双指针)

使用同向双指针,计算圆圈中最后剩下的数字

2020-09-15 09:08:08 101

原创 【剑指Offer系列】61-扑克牌中的顺子

从一副扑克牌(54张)中随机抽5张牌,判断这5张牌是否构成一个顺子,即是否连续。在扑克牌中,2~10为数字本身,A为1,J为11,Q为12,K为13,大小王可以看成任意数字。3、5个数中,除了大小王外,其它的数(可能5个、4个、3个),排序后,大的减小的,累和 <= 4,则为顺子。2、除了大小王外,其它任何数字,只要出现2次,就不是顺子。1、将大小王看做0,0。

2020-09-15 09:06:58 264 1

原创 【剑指Offer系列】42-连续子数组的最大和(滑动窗口)

使用滑动窗口,计算连续子数组的最大和

2020-09-15 09:05:02 164 1

原创 【剑指Offer系列】60-n个骰子的点数(每一层站都是站在上一层肩膀上而来)

每一层都是在上一层的基础上加[1,6]而来的

2020-09-15 08:59:38 138 1

原创 【剑指Offer系列】59-队列的最大值(滑动窗口、优先队列)

大顶堆、优先队列存Pair

2020-09-15 08:53:15 116 1

原创 【剑指Offer系列】58-翻转字符串(list从右向左)

翻转字符串中的单词

2020-09-15 08:51:30 122

原创 【剑指Offer系列】57-和为s的数字(Set)

使用哈希,判断两数之和为target的数

2020-09-14 23:02:01 104 1

原创 【剑指offer系列】56-数组中只出现一次的两个数字(sort排序)

对数组进行sort排序,实现时间复杂度O(n)空间复杂度O(1)的查找数组中只出现一次的数字

2020-09-14 23:01:22 134 1

原创 【剑指Offer系列】55-二叉树的深度(递归)

递归求二叉树的最大深度

2020-09-14 23:00:19 122

原创 【剑指Offer系列】54-二叉搜索树的第K大节点(list.get)

二叉搜索树的两个遍历特点1、中序遍历:单调递增(如果没有相同值元素)、2、后序列遍历结果postList,根据postList从右到左再创建二叉搜索树BST。再后序遍历此BST得到postList2,postList和postList2完全相同!!!

2020-09-14 22:59:33 149 1

原创 【剑指offer系列】53-数字在排序数组中出现的次数(关键字:map)

哈希统计出现次数

2020-09-14 22:58:39 113 1

原创 【剑指offer系列】52-两个链表的第一个公共节点(哈希、Set)

使用hash统计链表节点出现的次数,获取两个链表相交的节点

2020-09-14 22:57:50 119 1

原创 两个链表实现相加

class ListNode { int val; ListNode next; ListNode(int x) { val = x; }}class Main {// public ListNode addTwoNumbers(ListNode l1, ListNode l2) {// ListNode startNode=new ListNode(0);//最后将会输出的链表// ListNode Nowl1=l1,Nowl2=l2,N

2020-09-14 22:56:43 655

原创 【剑指Offer系列】51-数组中的逆序对(归并排序、sortList)

使用sortList计算右侧小于当前元素的个数

2020-09-14 22:56:05 175 1

原创 【剑指Offer系列】50-第一个只出现一次的字符(LinkedHashMap)

使用LinkedHahkMap统计字符出现的次数

2020-09-14 22:51:19 127 1

原创 【剑指Offer系列】49-丑数(优先队列-小顶堆)

使用优先队列实现小顶堆,寻找第n个丑数

2020-09-14 22:48:58 119 1

原创 【剑指Offer系列】48-最长不含重复字符的子字符串(滑动窗口)

使用滑动窗口计算无重复字符串的最长子串

2020-09-14 22:47:08 185 1

原创 【剑指offer系列】47-礼物的最大值(关键字:动态规划)

思路:动态规划场景:1.计数2.求最值3.存在性四个步骤1.确定状态1.最后一步:理清楚最后一步问题2.自问题:进而找出它前一个(子问题)3.给出dp[i]、dp[i][j]所代表的含义2.转移方程1.找到当前问题和子问题的关系2.一般题目中的分类、情况、选择条件之类的语句,就是当前问题和子问题的关系,即当前是如何由之前确定的3。初始条件和边界条件1.初始条件:一般是dp[0],或者dp[0][0]2.边界条件:就是你状态转移方程中,涉及到数组越界的边界。

2020-09-14 22:43:21 151

原创 【剑指Offer系列】46-把数字翻译成字符串(动态规划)

动态规划将数字翻译成字符串

2020-09-14 22:40:44 193 1

原创 【剑指Offer系列】45-把数组排成最小的数(sort排序字符串a+b和b+a)

使用字符串的排序

2020-09-14 22:39:08 87

原创 【剑指offer系列】44-数字序列中某一位的数字(字符串)

给你一个整数 n ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …] 中找出并返回第 n 位上的数字。解释:第 11 位数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …里是 0 ,它是 10 的一部分。

2020-09-14 22:37:36 163 1

原创 【剑指Offer系列】43-1~n整数中1出现的次数(哈希统计次数+数字转字符串)

哈希统计次数,数字转字符

2020-09-14 22:35:54 88 1

原创 【剑指Offer系列】41-数据流中的中位数(大小顶堆结合)

中位数简介找出这组数据:23、29、20、32、23、21、33、25 的中位数。首先将该组数据进行排列(这里按从小到大的顺序),得到:20、21、23、23、25、29、32、33因为该组数据一共由8个数据组成,即n为偶数,故按中位数的计算方法,得到中位数,即第四个数和第五个数的平均数。midval = (23+25)/2 = 24找出这组数据:10、30、 20、 20、 20的中位数。首先将该组数据进行排列10、 20、 20、 20、 30因为该组数据一共由5个数据组成,即n

2020-09-14 22:34:25 261 1

原创 【剑指Offer系列】40-最小的K个数(优先队列实现顶堆)

使用优先队列实现顶堆,完成topK问题寻找

2020-09-14 22:33:09 143 1

原创 【剑指Offer系列】39-数组中出现次数超过一半的数字(哈希)

使用哈希表统计元素出现的次数

2020-09-14 22:32:01 80 1

原创 【剑指Offer系列】38-字符串的排列(dfs)

使用dfs完成abc的排列

2020-09-14 22:29:44 241 1

原创 【剑指Offer系列】36-二叉搜素树与双向循环链表(有序、双向、循环)

输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向循环链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。

2020-09-13 09:47:19 119 1

原创 【剑指Offer系列】35-复杂链表的复制(哈希)

使用哈希表完成随机链表的复制

2020-09-13 09:35:19 138 1

日常学习java-code记录

日常学习java-code记录

2024-09-15

厚积薄发,Java学习积累

厚积薄发,Java学习积累

2024-09-13

JProfile的安装教程

JProfile的安装教程

2024-07-27

Spring源码注解版

Spring源码注解版

2024-07-24

编程开发-Java开发IDEA约束规范

适合Java开发人员,在开发过程中IDEA会对代码的书写进行可读性、健壮性等提醒,还会对IDEA的代码行数,空格等进行自动调整,让你写出更规范的代码

2023-12-07

编程开发-使用PlantUML画时序图-技术方案设计

适合编程开发人员,在技术方案设计汇中使用PlantUML画时序图、流程图等

2023-12-07

编程开发-测试-postman测试接口

使用postman进行接口测试,适合编程开发人员

2023-12-07

编程开发-接口语言定义-IDL

本文适合编程开发人员,通过IDL定义完成Rpc接口开发

2023-12-07

Java开发-导入导出excel-上传下载excel

本文主要针对Java开发者,用于对查询的数据进行导出到excel中,或者将excel中数据以流的形式存储到后端中。适合excel文件的导入导出。

2023-12-07

Prompt Engineer- 角色设定

如何更好的给AI提问

2023-05-28

Prompt Engineer - 准确提问

如何更好的给AI提问

2023-05-28

37.Java的反射.md

Java反射反射机制,通过反射,在不修改源代码的情况下实现对类的操作。JAVA反射机制是在运行状态中(**即RunTime阶段**); 对于任意一个实体类(**如Person类**),都能够知道这个类的所有属性(**name**)和方法(**eat()、构造方法**); 对于任意一个对象,都能够调用它的任意方法和属性; 这种动态获取信息以及动态调用对象方法(**方法名.invoke(类对象),类似于p.eat()**)的功能称为java语言的反射机制。

2019-08-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除