自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Charles(Mac)抓取安卓手机app的包

Charles(Mac)抓取安卓手机app的包

2022-06-05 17:27:28 3228 1

原创 有序数组中任意两个数的和为指定数值

1:将数组中的元素存储在hashmap中,其中key为数组的元素,value为其在数组的下标2:遍历整个hashmap, 如果hashmap的key中包括(total - curNum),那么说明数组中存在另外一个数满足和当前数相加为total的元素package com;import jdk.internal.org.objectweb.asm.Handle;import java.util.HashMap;public class shu { public static vo

2022-03-29 22:17:42 402

原创 单例模式(饿+懒)

单例模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。将该类的构造方法定义为私有方法,这样其他处的代码就无法通过调用该类的构造方法来实例化该类的对象,只有通过该类提供的静态方法来得到该类的唯一实例;// 饿汉式单例(线程安全)public class Singleton1

2022-03-29 21:55:20 324

原创 字符串转化(压缩)

package com.String;public class zhuan { public static void main(String[] args) { String str="aabbccdaa"; Scompress(str); } public static String Scompress(String str) { int count=1;

2022-03-28 22:33:23 374

原创 最大和的连续子数组

sum[i] = max(sum[i-1] + a[i], a[i])可以通过判断sum[i-1] + a[i]是否大于a[i]来做选择,而这实际上等价于判断sum[i-1]是否大于0。public class MaxS { public static void main(String[] args) { int[] nums={5,4,-1,7,8}; System.out.println(maxsum(nums)); } public

2022-03-28 22:17:21 72

原创 从(0,0)到(m,n)有多少种路径

public class gezi { public static void main(String[] args) { int m=6,n=6; System.out.println(PathS(m,n)); } public static int PathS(int m,int n){ if(m==0&&n==0) return 0; if (m==0||n==0) ...

2022-03-28 21:43:12 882

原创 生成不重复的随机数

利用HashSet 只能存放不同的值public class zuo { public static void main(String[] args) { HashSet<Integer> set = new HashSet<>(); int min = 2, max = 200, n = 10; randomSet(min, max, n, set); } public static void rando.

2022-03-28 20:48:06 94

原创 两字符串的最长公共子序列

不同于公共子串 不需要连续package com.String;public class zixu { public static void main(String[] args) { String s1="1A2C3D4B56"; String s2="B1D23A456A"; System.out.println(LCS(s1,s2)); } public static String LCS(String s1,St.

2022-03-28 18:47:49 107

原创 两个字符串的最长公共子串

动态规划package com.String;public class zichuan { public static void main(String[] args) { String s1="1AB2345CD"; String s2="12345EE"; System.out.println(LCS(s1,s2)); } public static String LCS(String s1,String s2).

2022-03-28 17:01:59 528

原创 排序算法-堆排序

package com.sort01;import java.util.Arrays;public class dui { public static void main(String []args){ int []arr = {9,8,7,6,5,4,3,2,1}; sort(arr); System.out.println(Arrays.toString(arr)); } public static void sort(i.

2022-03-09 21:04:59 42

原创 归并排序算法

package com.sort01;import java.util.Arrays;public class gui { public static void main(String []args){ int []arr = {9,8,7,6,5,4,3,2,1}; sort(arr); System.out.println(Arrays.toString(arr)); } public static void sort(i.

2022-03-09 21:02:03 45

原创 希尔排序算法

package com.sort01;import java.util.Arrays;public class xier { public static void main(String[] args) { int[] arr = {1, 4, 2, 7, 9, 8, 3, 6}; sort(arr); System.out.println(Arrays.toString(arr)); int[] arr1 = {1, 4, .

2022-03-09 21:01:32 40

原创 直接选择排序

从待排序列中选出最小(或最大)的一个元素,记录其下标(数组)的位置;将记录的下标值与待排序列的第一个元素进行交换;package com.sort01;public class select { public static void main(String[] args){ int[] arr={44,2,12,5,7,23}; Select(arr); for (int i = 0; i < arr.length; i++) { .

2022-03-09 20:49:23 47

原创 直接插入排序

1、左侧的元素全部有序,该元素按照从右往左的顺序分别与其左边的元素比较,遇到比其大的元素便将元素右移,直到找到比该元素小的元素或者找到最左面发现其左侧的元素都比它大,停止; 2、将该元素放入到空位中 package com.sort01;public class InsertSort { public static void main(String[] args) { int[] arr={23,11,3,5,1,56,41}; Insert(arr);

2022-03-09 20:20:51 52

原创 计算一个字符串中每个字符出现的次数

1.使用Scanner获取用户输入的字符串2.创建Map集合,key是字符串中的字符,value是字符的个数3.遍历字符串,获取每一个字符4.使用获取到的字符,去Map集合判断key是否存在package com.String;import java.util.HashMap;import java.util.Scanner;public class shu { public static void main(String[] args){ Scanner sc

2022-03-09 19:59:16 309

原创 排序算法02-快速排序

假设要对数组a[10]={6,1,2,7,9,3,4,5,10,8}进行排序,一般选择数组的第一个元素a[0]=6作为基准值。设置两个“哨兵”,记为“哨兵i”和“哨兵j”,他们分别指向数组的第一个元素和最后一个元素,即i=0,j=8。首先哨兵j开始出动,哨兵j一步一步地向左挪动(即j–-),直到找到一个小于6的数停下来,接下来哨兵i再一步一步向右挪动(即i++),直到找到一个数大于6的数停下来,然后交换i和j指向的元素的值。一直如此进行直到i==j,这一轮的探测就要结束了,此时交换a[i]与基准的值,...

2021-12-24 19:08:07 381

原创 排序算法01-冒泡排序

package com.sort02;/*冒泡排序:从小到大 */public class BulbbleSort { public static void main(String[] args) { int[] array={1,23,3,5,34,67,8}; bubble(array); } public static void bubble(int[] array){ int temp; for(int.

2021-12-24 18:59:58 361

原创 剑指Offer-牛客网 JZ25 合并两个排序的链表

描述输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。数据范围:0 \le n \le 10000≤n≤1000,-1000 \le 节点值 \le 1000−1000≤节点值≤1000要求:空间复杂度O(1)O(1),时间复杂度O(n)O(n)如输入{1,3,5},{2,4,6}时,合并后的链表为{1,2,3,4,5,6},所以对应的输出为{1,2,3,4,5,6},转换过程如下图所示:或输入{-1,2,4},{1,3,4}时,合...

2021-12-21 16:28:35 528

原创 剑指Offer-牛客网 JZ55 二叉树的深度

描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度,根节点的深度视为 1 。数据范围:节点的数量满足0 \le n \le 1000≤n≤100,节点上的值满足0 \le val \le 1000≤val≤100进阶:空间复杂度O(1)O(1),时间复杂度O(n)O(n)假如输入的用例为{1,2,3,4,5,#,6,#,#,7},那么如下图:示例1输入:{1,2,3,4,5,#,6,#,#...

2021-12-20 14:41:38 468

原创 剑指Offer-牛客网 JZ24 反转链表

描述给定一个单链表的头结点pHead,长度为n,反转该链表后,返回新链表的表头。数据范围:n\leq1000n≤1000要求:空间复杂度O(1)O(1),时间复杂度O(n)O(n)。如当输入链表{1,2,3}时,经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。以上转换过程如下图所示:示例1输入:{1,2,3}返回值:{3,2,1}示例2输入:{}返回值:{}利用栈结构,把链表结点一个个入栈,当全部入栈完之...

2021-12-20 14:32:03 365

原创 剑指Offer-牛客网 JZ6 从尾到头打印链表

描述输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。如输入{1,2,3}的链表如下图:返回一个数组为[3,2,1]0 <= 链表长度 <= 10000示例1输入:{1,2,3}返回值:[3,2,1]示例2输入:{67,0,24,58}返回值:[58,24,0,67]核心代码利用堆栈的结构特点---先进后出单链表只能按照Next指针的顺序遍历,从头结点依次遍历将结点的值压入栈中(push),直到遍历完所.

2021-12-16 14:06:42 113

空空如也

空空如也

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

TA关注的人

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