自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA的ACM模式输入多组行数和列数不确定的数据(并查集求母猪之间的亲缘关系)

Java scanner输入多行行数和列数不确定的整数

2022-09-08 11:40:48 1427 1

原创 并查集 力扣990等式方程的可满足性

并查集

2022-09-07 21:00:22 208

原创 力扣的题库突然打不开的解决办法

力扣打开很慢或者题目根本就打不开的解决方法

2022-09-06 09:51:12 6326

原创 力扣416分割等和子集

Java

2022-08-29 09:30:53 133

原创 6160. 和有限的最长子序列

和有限的最长子序列

2022-08-29 08:59:57 135

原创 ACM模式下java数组的输入,并且不是空格分开的情况该如何写输入

Java ACM输入

2022-08-29 08:47:47 1222

原创 岛屿中的曼哈顿问题

岛屿的最大曼哈顿

2022-08-06 00:00:52 123

原创 启动虚拟机就蓝屏

启动虚拟机就蓝屏,两种方法

2022-07-28 17:43:16 2456

原创 联想小新pro如何进入bios

联想电脑进入bios模式,亲测有用!!!

2022-07-28 17:20:26 6323 1

原创 第 303 场力扣周赛(TreeSet)

力扣303周赛记录

2022-07-25 14:12:48 140

原创 java.lang.IllegalStateException: Failed to load ApplicationContext 解决办法

仿牛客网敏感词过滤的bug

2022-06-24 13:57:30 856

原创 alibb编程题 (二维数组排序)Java

转载import java.util.Arrays;import java.util.Comparator;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //T表示有T组数据 int T = sc.nextInt();

2022-03-22 21:29:24 702

原创 Arrays.sort(int[][], new Comparator<int[]>() {}二维数组定制排序

如果你想对二维数组[3,4,1,8,5;2,4,5,1,7]排序,可以用如下代码import java.util.Arrays;import java.util.Comparator;import java.util.List;public class erweisort { public static void main(String[] args) { int[][] A={{2,3},{7,4},{1,8},{5,9}}; int m=A.length

2022-03-22 20:08:44 451

原创 剑指 Offer 62. 圆圈中最后剩下的数字 Java 力扣

思路如上:约瑟夫环问题

2022-03-21 09:54:33 374

原创 剑指 Offer 29. 顺时针打印矩阵

顺时针打印矩阵

2022-03-21 09:51:08 231

原创 剑指 Offer 32 - I、II、III. 从上到下打印二叉树

I 层序遍历,输出为一个数组class Solution { public int[] levelOrder(TreeNode root) { if(root==null) return new int[0]; Queue<TreeNode> queue = new LinkedList<>(); List<Integer> li=new ArrayList<>(); queue.ad

2022-03-18 22:15:48 386

原创 算法:堆栈、队列

堆栈的操作 (先进后出)peek(取栈顶)、pop(弹出栈顶)、push(入栈)、isEmpty(是否为空)队列(先进先出)

2022-03-18 16:27:51 97

原创 剑指 Offer 14- I. 剪绳子 java 动态规划

姐妹们, 咱就是说有点子难动态规划class Solution { public int cuttingRope(int n) { int[] dp=new int[n+1]; dp[2]=1; for(int i=3;i<=n;i++) { dp[i]=i-1; //切分的那个里面有1,剩下的是i-1,乘积就是1乘以(i-1) for(int j=2;j<i;j++)

2022-03-17 16:49:49 208

原创 剑指 Offer 66. 构建乘积数组

public int[] constructArr(int[] a) { if (a == null || a.length == 0) return a; int len = a.length; int[] left = new int[len]; int[] right = new int[len]; left[0] = right[len - 1] = 1; for (int i = 1; i <

2022-03-17 11:31:28 116

原创 算法:二叉树

BST(搜索二叉树)、插入节点、删除结点、查找结点、前序、中序、后序遍历

2022-03-17 11:20:34 120

原创 剑指 Offer 56 - I.II数组中找出出现一次的数?Java

数组中找到独特的数

2022-03-11 09:35:51 771

原创 剑指 Offer 15. 二进制中1的个数 Java

因为n&n-1会把低位1抵消掉,所以一直做与运算,直到值为0public class Solution { public int hammingWeight(int n) { int ret = 0; while (n != 0) { n &= n - 1; ret++; } return ret; }}...

2022-03-10 09:13:26 315

原创 剑指 Offer 16. 数值的整数次方 (快速幂)Java

快速幂(Java)

2022-03-09 10:19:55 163

原创 剑指 Offer 64. 求1+2+…+n

家人们,我脑子肯定是被驴踢了,我一开始用递归,忘了n-1可能会小于0,如果不加条件的话class Solution { public int sumNums(int n) { boolean flag = n > 0 && (n += sumNums(n - 1)) > 0; return n; }}...

2022-03-04 11:16:22 115

原创 算法:排序算法(插入排序、快排、归并排序)Java

1. 插入排序(Insertion Sort)2. 快排(Quick Sort)3. 归并排序(Merge Sort)先说个题外话,arrays.sort是由Timsort实现的,Timsort是归并排序的优化版一、插入排序从第二个元素(第一个要被排序的新元素)开始,从后向前扫描之前的元素序列如果当前扫描的元素大于新元素,将扫描元素移动到下一位重复2,直到找到一个小于或者等于新元素的位置将新元素插入到该位置对于之后的元素重复步骤1~4,完成升序排序public void insert

2022-03-03 22:22:00 224

原创 剑指 Offer 47. 礼物的最大价值

class Solution { public int maxValue(int[][] grid) { int[][] dp=new int[grid.length][grid[0].length]; dp[0][0]=grid[0][0]; for(int i=0;i<grid.length;i++) { for(int j=0;j<grid.length;j++) { .

2022-03-03 09:19:55 103

原创 剑指 Offer II 004. 只出现一次的数字

class Solution { public int singleNumber(int[] nums) { Arrays.sort(nums); int len=nums.length; int u=nums[len-1]; int i=0; while(i<len-1) { if (nums[i]==nums[i+1])

2022-03-03 09:18:42 57

原创 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

家人们,数组用双指针,谁用谁说好class Solution { public int[] exchange(int[] nums) { int[] temp=new int[nums.length]; int l=0; int u=nums.length-1; for(int i=0;i<nums.length;i++) { if(nums[i]%2==0) temp[u--]=

2022-03-02 20:07:30 41

原创 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面java

家人们,咱们就是说,数组还得是双指针思路双反向指针,左边的++,帮助存储奇数;右边的–,帮助存储偶数class Solution { public int[] exchange(int[] nums) { int[] temp=new int[nums.length]; int l=0; int u=nums.length-1; for(int i=0;i<nums.length;i++) {

2022-03-02 19:34:58 287

原创 剑指 Offer 48. 最长不含重复字符的子字符串Java

家人们,有进步了,第一次carry中等难度的动态规划题目,思路一dp[i]代表以i位置结束的字母的最大不重复字符串dp[0]=1,因为第一个字母的子串就是它自己dp[1]=dp[0]+1; 因为b不在[a]中dp[2]=dp[1]+1;因为c不在[a,b]中dp[3]=3-0=3;因为a在[a,b,c]中,就用两个a的下标之差计算即可。为什么此时哈希表是[a,b,c]呢,因为j=i-dp[i-1]:这个j 是哈希表的起始坐标,j 是当前位置i减去i-1的最大字串间断,此时j是0dp[4]=4.

2022-03-02 16:33:19 219

原创 字符与整数转换

字符转换为整数 '1’转换为1: ‘1’-‘0’即可变换成1整数转换为字符串 1转换为’1’:1+'0’即可

2022-03-02 14:12:05 413

原创 剑指 Offer 47. 礼物的最大价值

从右下角的元素考虑,到达它有两种可能,要么是左边来的,要么是上面来的。dp[i][j]=max(dp[i-1][j],dp[i][j-1])+grid[i][j]; 而且还要考虑i-1>=0?j-1>=0class Solution { public int maxValue(int[][] grid) { int m =grid.length; int n=grid[0].length; int[][] dp=new int[m][.

2022-03-02 10:12:30 47

原创 剑指 Offer 42. 连续子数组的最大和

DP法和分治法,目前只掌握了DP法,分治法看不懂DPclass Solution { public int maxSubArray(int[] nums) { int[] dp=new int[nums.length]; dp[0]=nums[0]; for(int i=1;i<nums.length;i++) { dp[i]=Math.max(nums[i],dp[i-1]+nums[i]

2022-03-01 11:00:40 48

原创 剑指 Offer 63. 股票的最大利润:双指针同向

救命,仔细一想,双指针同向还是太暴力了class Solution { public int maxProfit(int[] prices) { int first=0; for(int i=0;i<prices.length-1;i++) { int j=i+1; while(j<prices.length) {

2022-02-28 22:09:03 75

原创 算法:时间空间复杂度

如何判断一个算法的好坏?如何对比不同的算法?时间复杂度BigO:T(n)=O(f(n))举例for(int i=0; i<n;i++)x++;O(1+3N)=O(N)原因:i=0是1次,i<n和i++和x++都是N次for(int i=0; i<n;i++){ for(int j=0;j<n;j++) { x++; }}O(n^2)空间复杂度内存空间增长的趋势,常用的有O(1),O(n),O(n^2)O(n^2)比如二维数

2022-02-28 21:37:59 82

原创 算法:二分查找

解决问题:在有序数组中找一个数算法内容:1.从数组的中间元素开始,如果中间元素是x,则查找成功;2.否则我们利用中间位置将数组分为前、后两个子数组:如果x小于中间位置的元素,则进一步查找前一个子数组;否则进一步查找后一个子数组。重复以上步骤,直到找到满足条件的元素,或直到子数组不存在为止,代表查找不成功。...

2022-02-28 21:20:25 39

原创 Java剑指 Offer 10- II. 青蛙跳台阶问题 剑指 Offer 10- I. 斐波那契数列

青蛙跳台阶动态规划问题,最后一步总是有两种方法:①走一步,那么前面有f(n-1)种跳法②走两步,那么前面有f(n-2)种f(n)=f(n-1)+f(n-2)f(0)=1;f(1)=1;class Solution { public int numWays(int n) { if(n<2) return 1; int [] an=new int[n+1]; an[0]=1; an[1]=1;

2022-02-25 21:39:12 264

原创 剑指 Offer 50. 第一个只出现一次的字符

遍历hashmap

2022-02-25 20:54:02 463

原创 剑指 Offer 04. 二维数组中的查找

Java 矩阵是否为空

2022-02-21 16:48:10 118

原创 剑指 Offer 22. 链表中倒数第k个节点 java

思路一求链表长度,然后倒数第k个节点就是正数n-k个class Solution { public ListNode getKthFromEnd(ListNode head, int k) { int n=0; for(ListNode nd=head;nd!=null;nd=nd.next) n++; //求链表长度 ListNode dum=head; if(n-k<0) return null; f

2022-02-18 14:52:59 99

空空如也

空空如也

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

TA关注的人

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