自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 资源 (3)
  • 收藏
  • 关注

原创 Ngnix 阿里云

阿里云安装Ngnix。

2023-12-03 21:35:33 329

原创 最长回文子串

如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。给你一个字符串 s,找到 s 中最长的回文子串。解释:“aba” 同样是符合题意的答案。输入:s = “babad”输入:s = “cbbd”s 仅由数字和英文字母组成。

2023-10-29 17:47:51 96

原创 面试题xuexixiexue

dddd

2022-07-14 16:18:52 306 1

原创 哈希集合和哈希映射的简单设计

设计哈希集合不使用任何内建的哈希表库设计一个哈希集合(HashSet)。实现 MyHashSet 类:void add(key) 向哈希集合中插入值 key 。bool contains(key) 返回哈希集合中是否存在这个值 key 。void remove(key) 将给定值 key 从哈希集合中删除。如果哈希集合中没有这个值,什么也不做。示例:输入:[“MyHashSet”, “add”, “add”, “contains”, “contains”, “add”, “contain.

2021-11-09 15:19:21 445

原创 leetcode2021.11.03

剑指 Offer II 091. 粉刷房子难度中等假如有一排房子,共 n 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。当然,因为市场上不同颜色油漆的价格不同,所以房子粉刷成不同颜色的花费成本也是不同的。每个房子粉刷成不同颜色的花费是以一个 n x 3 的正整数矩阵 costs 来表示的。例如,costs[0][0] 表示第 0 号房子粉刷成红色的成本花费;costs[1][2] 表示第 1 号房子粉刷成绿色的花费,以此类推。

2021-11-03 15:07:19 162

原创 Leetcode2021.11.2

Leetcode2021.11.2105. 岛屿的最大面积难度中等585给你一个大小为 m x n 的二进制矩阵 grid 。岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。岛屿的面积是岛上值为 1 的单元格的数目。计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0。package offer;public class offer105{

2021-11-02 20:17:35 103

原创 JUC学习

JUC视频参考:https://www.bilibili.com/video/BV1Kw411Z7dF?p=43文档参考:https://blog.csdn.net/weixin_47872288/article/details/1194530921.锁的实现方法1.1synchronizedpublic class hello { static class Ticket { private int total=30; public synchronized

2021-11-02 10:19:13 94

原创 869. 重新排序得到 2 的幂

重新排序得到 2 的幂难度中等给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零。如果我们可以通过上述方式得到 2 的幂,返回 true;否则,返回 false。示例 1:输入:1输出:true示例 2:输入:10输出:false示例 3:输入:16输出:true示例 4:输入:24输出:false来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reordered-power-o.

2021-10-28 11:00:11 57

原创 Java自动装箱拆箱

装箱就是自动将基本数据类型转换为包装器类型;拆箱就是 自动将包装器类型转换为基本数据类型。自动装箱,范围在 -128 ~ 127 【256个数字 】的地址是一样的,-128 到 127 之间的有个自动装箱的缓存池。超过这个区域,就会自动创建对象...

2021-10-15 20:37:01 107

原创 55. 跳跃游戏

跳跃游戏给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。public boolean canJump(int[] nums) { int rightmost=0;//rightmost是用于记录当前所能到.

2021-10-15 11:06:49 817

原创 剑指 Offer II 085. 生成匹配的括号

剑指 Offer II 085. 生成匹配的括号正整数 n 代表生成括号的对数,请设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]回溯法解题 public void dfs1(int l,int r,int n) { //1.声明离开递归的条件:右括号大于左括号或者左括号,右括号大于n

2021-10-15 10:24:28 61

原创 300. 最长递增子序列

最长递增子序列给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2:输入:nums = [0,1,0,3,2,3]输出:4import org.junit.Test.

2021-10-15 09:18:58 58

原创 Java并发编程之美 01

Java并发编程之美01.多线程实现的方式01.继承Thread,重写run方法public static class Mythread extends Thread { @Override public void run() { System.out.println("hello,Thread"); } } public static void main(String[] args) {

2021-10-07 10:02:55 156

原创 134. 加油站

加油站在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素均为非负数。示例 1:输入:gas = [1,2,3,4,5]cost = [3,4,5,1,2].

2021-10-06 09:30:57 59

原创 139. 单词拆分

单词拆分给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” 可以被拆分成 “leet code”。动态规划:维护布尔性数组dp[n+1],dp[i]=true,表示s(0.

2021-10-05 16:29:04 54

原创 岛屿类问题题解

岛屿的最大面积给你一个大小为 m x n 的二进制矩阵 grid 。岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。岛屿的面积是岛上值为 1 的单元格的数目。计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。示例 1:public int maxAreaOfIsland(int[][] grid) { int res=0;.

2021-10-04 19:56:53 175

原创 138. 复制带随机指针的链表

复制带随机指针的链表给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 。例如,如果原链表中有 X 和 Y 两个节点,其中 X.random --&.

2021-10-04 11:04:52 56

原创 347. 前 K 个高频元素

前 K 个高频元素给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]public int[] topKFrequent(int[] nums, int k) { HashMap<Integer,Integer>map=new HashMap&l.

2021-10-04 09:56:17 62

原创 2021-10-03

比较版本号给你两个版本号 version1 和 version2 ,请你比较它们。版本号由一个或多个修订号组成,各修订号由一个 ‘.’ 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33 和 0.1 都是有效的版本号。比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较 忽略任何前导零后的整数值 。也就是说,修订号 1 和.

2021-10-03 21:18:46 66

原创 2021-10-03

另一棵树的子树给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。/** * Definition for a binary tree node. * public class TreeNode { * int val; * Tree.

2021-10-03 21:15:47 52

原创 1143. 最长公共子序列

最长公共子序列难度中等707收藏给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。示例 1:输入:text1 =.

2021-10-03 18:59:07 61

原创 64. 最小路径和

最小路径和给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例 1:输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。动态规划:需要知道动态规划方程初始值:dp[0][0]=grid[0][0]i=0 dp[0][j]=dp[0][j-1]+grid[0][j];j=0 dp[i][0]=dp[i-1].

2021-10-03 15:30:08 74

原创 112. 路径总和

路径总和给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。叶子节点 是指没有子节点的节点。 public boolean hasPathSum1(TreeNode root, int targetSum) { return dfs(root,0,targetSum); } public boolean dfs(TreeNode r.

2021-10-03 14:56:46 39

原创 Java多线程02

Java 多线程02博客主要内容全部来自以下链接,写了一些个人理解而已https://blog.csdn.net/qq_41617848/article/details/107619810?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163316365616780264089131%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=

2021-10-03 10:25:15 91

原创 Java多线程01

Java 多线程01博客主要内容全部来自以下链接,写了一些个人理解而已https://blog.csdn.net/qq_41617848/article/details/107619810?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163316365616780264089131%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=

2021-10-02 20:52:55 81

原创 463. 岛屿的周长

岛屿的周长给定一个 row x col 的二维网格地图 grid ,其中:grid[i][j] = 1 表示陆地, grid[i][j] = 0 表示水域。网格中的格子 水平和垂直 方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。示例 1:输入:grid = .

2021-10-01 21:32:50 44

原创 刷题坑01

res+=… 不一定等于res=res+举例:ret+=s&1 不能等于ret=ret+s&1,因为运算法的顺序,所以不一定相等

2021-09-29 15:50:18 47

原创 spring_IOC AOP 事物管理

《尚硅谷》一:spring:HelloworldSpring 是轻量级的开源的 JavaEE 框架,基本组成如下:01.新建项目之后,建lib目录。引入jar包,只需要引入最基本的包02.在src中建立普通类package com.atguigu.spring5;//添加一个add方法public class User { public void add() { System.out.println("add....."); }}03.建立Be

2021-09-28 10:57:56 113

原创 290. 单词规律

单词规律给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = “abba”, str = “dog cat cat dog”输出: true示例 2:输入:pattern = “abba”, str = “dog cat cat fish”输出: false示例 3:输入: pattern =.

2021-09-27 15:34:57 49

原创 1047. 删除字符串中的所有相邻重复项

删除字符串中的所有相邻重复项难度简单给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:输入:“abbaca”输出:“ca”解释:例如,在 “abbaca” 中,我们可以删除 “bb” 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 “aaca”,其中又只有 “aa” 可以执行重复项删除操作,所以最后的字.

2021-09-27 11:39:24 44

原创 46 47全排列

全排列给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]输出:[[1]]public List<List<Integer>> permute(int[] nu.

2021-09-27 10:48:50 49

原创 78. 子集

子集给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]]List<List<Integer>>ans=new ArrayList<List<Integer>&.

2021-09-27 10:07:14 35

原创 199. 二叉树的右视图

二叉树的右视图给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例 1:输入: [1,2,3,null,5,null,4]输出: [1,3,4]示例 2:输入: [1,null,3]输出: [1,3]二叉树的层序遍历 public List<Integer> rightSideView(TreeNode root) { List<Integer>ans=new ArrayList<&gt.

2021-09-27 09:39:04 43

原创 229. 求众数 II

求众数 II给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1)的算法解决此问题。示例 1:输入:[3,2,3]输出:[3]示例 2:输入:nums = [1]输出:[1]示例 3:输入:[1,1,1,3,3,2,2,2]输出:[1,2]//方法一:哈希表计数 public List<Integer> majorityElement(int[] nums) { .

2021-09-27 09:09:26 43

原创 77. 组合-----回溯

组合给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。示例 1:输入:n = 4, k = 2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]示例 2:输入:n = 1, k = 1输出:[[1]]List<List<Integer>>ans=new ArrayList<List<Integer>>(); List<.

2021-09-26 20:24:06 38

原创 116. 填充每个节点的下一个右侧节点指针

填充每个节点的下一个右侧节点指针给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。 public Node connect(Node root) { .

2021-09-26 14:32:33 32

原创 148. 排序链表

排序链表给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。进阶:你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?示例 1:输入:head = [4,2,1,3]输出:[1,2,3,4]开始的想法是使用一个数组存储所有的节点,然后用冒泡排序排序其中的数字之后,输出链表头。结果运行的结果正确,但是时间超出限制。/** * Definition for singly-linked list. * public class Lis.

2021-09-26 11:05:08 62

原创 hashmap遍历

class Solution { public int singleNumber(int[] nums) { HashMap<Integer,Integer>map=new HashMap<Integer,Integer>(); for(int i=0;i<nums.length;i++) { map.put(nums[i],map.getOrDefault(nums[i],0)+1); .

2021-09-26 10:06:21 52

原创 剑指 Offer II 038. 每日温度

剑指 Offer II 038. 每日温度请根据每日 气温 列表 temperatures ,重新生成一个列表,要求其对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。示例 1:输入: temperatures = [73,74,75,71,69,72,76,73]输出: [1,1,4,2,1,1,0,0]示例 2:输入: temperatures = [30,40,50,60]输出: [1,1,1,0]暴力解法 publ

2021-09-24 10:50:59 44

原创 剑指 Offer II 026. 重排链表

剑指 Offer II 026. 重排链表给定一个单链表 L 的头节点 head ,单链表 L 表示为:L0 → L1 → … → Ln-1 → Ln请将其重新排列后变为:L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → …不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入: head = [1,2,3,4]输出: [1,4,2,3]借助数组,可以实现链表的随机读取,从而可以任意操作链表 public void reorderList(Lis

2021-09-24 09:37:09 45

a2339ead-3352-4df9-ba55-b35c9abfdd4c.zip

MFC 国际象棋 人机对弈 人人对弈 2dD设计,无需配置,

2021-04-11

homework.rar

北航OO

2021-04-03

步进电机程序—串口控制速度角度.zip

适合研究生 本科生做项目

2021-03-14

空空如也

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

TA关注的人

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