自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 问答 (4)
  • 收藏
  • 关注

原创 java常见算法

1.(哈希表)给出一个字符串数组words 组成的一本英语词典。返回words 中最长的一个单词,该单词是由words词典中其他单词逐步添加一个字母组成。若其中有多个可行的答案,则返回答案中字典序最小的单词。若无答案,则返回空字符串。示例 1:输入:words = ["w","wo","wor","worl", "world"]输出:"world"解释: 单词"world"可由"w", "wo", "wor", 和 "worl"逐步添加一个字母组成。示例 2:输入:wo...

2022-03-17 17:25:07 6485

原创 java常见算法

欢迎各位关注我的公众号,会继续更新算法知识与前后端知识1.题目:给定正整数 n ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零。如果我们可以通过上述方式得到 2 的幂,返回 true;否则,返回 false。数字排序后进行匹配,不需要对n里的数字进行不断排序,可以判断n与2次方的数(同样长度)进行sort排序后n是否包含在这些被排序后的2次方的数里面class Solution { public boolean reorderedPower.

2022-03-10 16:34:33 4151 1

原创 蓝桥杯备战国赛

8.给你两个m x n的二进制矩阵grid1 和grid2,它们只包含0(表示水域)和 1(表示陆地)。一个 岛屿是由 四个方向(水平或者竖直)上相邻的1组成的区域。任何矩阵以外的区域都视为水域。如果 grid2的一个岛屿,被 grid1的一个岛屿完全 包含,也就是说 grid2中该岛屿的每一个格子都被 grid1中同一个岛屿完全包含,那么我们称 grid2中的这个岛屿为 子岛屿。请你返回 grid2中 子岛屿的 数目。class Sol...

2022-05-28 17:06:33 122

原创 蓝桥杯备战国赛

5.由空地(用 0 表示)和墙(用 1 表示)组成的迷宫 maze 中有一个球。球可以途经空地向 上、下、左、右 四个方向滚动,且在遇到墙壁前不会停止滚动。当球停下时,可以选择向下一个方向滚动。给你一个大小为 m x n 的迷宫 maze ,以及球的初始位置 start 和目的地 destination ,其中 start = [startrow, startcol] 且 destination = [destinationrow, destinationcol] 。请你判断球能否在目的地停下:如果可

2022-05-23 21:43:30 462

原创 蓝桥杯冲刺国一

1.给定一个 n×n 的二维矩阵matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。class Solution { public void rotate(int[][] matrix) { int n = matrix.length; int[][] newMatrix = new int[n][n]; for (int i ...

2022-05-14 16:34:29 256

原创 蓝桥杯备战国赛

2.给你一个日志数组 logs。每条日志都是以空格分隔的字串,其第一个字为字母与数字混合的 标识符 。有两种不同类型的日志:字母日志:除标识符之外,所有字均由小写字母组成数字日志:除标识符之外,所有字均由数字组成请按下述规则将日志重新排序:所有 字母日志 都排在 数字日志 之前。字母日志 在内容不同时,忽略标识符后,按内容字母顺序排序;在内容相同时,按标识符排序。数字日志 应该保留原来的相对顺序。返回日志的最终顺序。示例 1:输入:logs = ["dig1 8 1 5 1

2022-05-03 01:21:56 2718

原创 字符串算法详解(动态规划)+高质量例题

1.给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。示例 1:输入:s = "bbbab"输出:4解释:一个可能的最长回文子序列为 "bbbb" 。示例 2:输入:s = "cbbd"输出:2解释:一个可能的最长回文子序列为 "bb" 。class Solutiosdadn { public int longestPalindromeSubseq(Strin

2022-04-08 14:35:21 347

原创 二分查找详解+高质量例题

1.编写一个高效的算法来判断m x n矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。class Solution { public boolean searchMatrix(int[][] matrix, int target) { int n = matrix.length; int m = matrix[0].length; int left = 0..

2022-04-08 11:25:53 216

原创 java管理系统[最完善]【大一上】

1.工具类import java.util.Scanner;public class CMUtity { public static Scanner scanner = new Scanner(System.in); public static String readKeyBoard(int limit, boolean broken) { String line = ""; while (scanner.hasNextLine()) {

2022-04-07 23:08:38 332 1

原创 Dijkstra 与 Floyd算法

1.有 n 个城市,按从 0 到 n-1 编号。给你一个边数组 edges,其中 edges[i] = [fromi, toi, weighti] 代表 fromi 和 toi 两个城市之间的双向加权边,距离阈值是一个整数 distanceThreshold。返回能通过某些路径到达其他城市数目最少、且路径距离 最大 为 distanceThreshold 的城市。如果有多个这样的城市,则返回编号最大的城市。注意,连接城市 i 和 j 的路径的距离等于沿该路径的所有边的权重之和。示例

2022-04-07 23:03:00 88

原创 搜索+图+高质量例题详解

1.你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。例如,先修课程对[0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1 。请你判断是否可能完成所有课程的学习?如果可以,返回 true ;否则,返回 false 。示例 1:.

2022-04-06 12:10:00 493

原创 广度优先搜索+高质量例题

1./** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode ri..

2022-04-05 23:10:43 239

原创 动态规划---例题详解篇(入门-深入)

1.数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]class Solution { public List<String> res = new ArrayList<>(); public List<String> g

2022-04-05 15:17:19 363

原创 贪心算法详细讲解+高质量例题

1.给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。示例 1:输入:nums = [10,2]输出:"210"示例2:输入:nums = [3,30,34,5,9]输出:"9534330"class Solution { public String largestNumber(int[] nums) { int len = n.

2022-04-04 21:43:22 1323

原创 java常见算法

、/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNod

2022-04-03 23:02:12 904

原创 二叉树全网最详细整合

首先了解二叉树的3种遍历1.给你二叉树的根节点root,返回它节点值的前序遍历。class Solution { public List<Integer> l = new ArrayList<Integer>(); public List<Integer> preorderTraversal(TreeNode root) { if(root == null) return l; ...

2022-04-01 23:19:14 121

原创 java常见算法

1.妙妙奇趣屋 dp给你一个由数字和运算符组成的字符串expression ,按不同优先级组合数字和运算符,计算并返回所有可能组合的结果。你可以 按任意顺序 返回答案。示例 1:输入:expression = "2-1-1"输出:[0,2]解释:((2-1)-1) = 0(2-(1-1)) = 2示例 2:输入:expression = "2*3-4*5"输出:[-34,-14,-10,-10,10]解释:(2*(3-(4*5))) = -34((2*3)-(4...

2022-03-30 23:12:50 345

原创 蓝桥杯真题-人物相关性分析

题目描述小明正在分析一本小说中的人物相关性。他想知道在小说中 Alice 和 Bob 有多少次同时出现。更准确的说,小明定义 Alice 和 Bob“同时出现”的意思是:在小说文本 中 Alice 和 Bob 之间不超过 K 个字符。例如以下文本:ThisisastoryaboutAliceandBob.AlicewantstosendaprivatemessagetoBob.假设 K = 20,则 Alice 和 Bob 同时出现了 2 次,分别是”Alice and Bob” 和”Bob. A

2022-03-28 21:43:18 350 1

原创 蓝桥杯真题--送外卖 代码的尽头是送外卖

第七题:外卖店优先级题目描述“饱了么”外卖系统中维护着 N 家外卖店,编号 1 ∼ N。每家外卖店都有 一个优先级,初始时 (0 时刻) 优先级都为 0。每经过 1 个时间单位,如果外卖店没有订单,则优先级会减少 1,最低减 到 0;而如果外卖店有订单,则优先级不减反加,每有一单优先级加 2。如果某家外卖店某时刻优先级大于 5,则会被系统加入优先缓存中;如果 优先级小于等于 3,则会被清除出优先缓存。给定 T 时刻以内的 M 条订单信息,请你计算 T 时刻时有多少外卖店在优 先缓存中。【输入格式

2022-03-28 20:14:40 229

原创 java常见算法

1.题目描述有一个n \times mn×m方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。输入格式一行,两个正整数n,mn,m(n \leq 5000,m \leq 5000n≤5000,m≤5000)。输出格式一行,两个正整数,分别表示方格包含多少正方形、长方形(不包含正方形)。输入输出样例输入 #1复制2 3输出 #1复制8 10import java.util.Scanner;public class Main { ...

2022-03-26 22:00:39 168

原创 java常见算法-蓝桥杯每日一题冲刺国赛

1.一条包含字母A-Z 的消息通过以下映射进行了 编码 :'A' -> "1"'B' -> "2"...'Z' -> "26"要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,"11106" 可以映射为:"AAJF" ,将消息分组为 (1 1 10 6)"KJF" ,将消息分组为 (11 10 6)注意,消息不能分组为(1 11 06) ,因为 "06" 不能映射为 "F" ,这是由于 "6" 和 "06" 在映射...

2022-03-23 23:16:39 478

原创 java常见算法-蓝桥杯每日一题冲刺国赛

1.给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在恰好一个解。示例 1:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。示例 2:输入:nums = [0,0,0], target = 1输出:0import java.util.Ar

2022-03-22 22:09:20 298

原创 java常见算法-蓝桥杯每日一题冲刺国赛

1.给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串。示例 1:输入:s = "aab"输出:[["a","a","b"],["aa","b"]]示例 2:输入:s = "a"输出:[["a"]]class Solution { List<List<String>> res = new ArrayList<>(); List<

2022-03-21 22:29:23 449

原创 java常见算法

1.一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。注意:本题相对原题稍作改动示例 1:输入: [1,2,3,1]输出: 4解释: 选择 1 号预约和 3 号预约,总时长 = 1 + 3 = 4。示例 2:输入: [2,7,9,3,1]输出: 12解释: 选择 1 号预约、 3 号预约和 5 号预约,总时长 = 2

2022-03-18 22:59:18 206

原创 java常见算法

回溯 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为 target 的不同组合数少于 150 个。示例 1:输入:candidates = [2,3,6,7],..

2022-03-17 22:37:02 140

原创 java常见算法

题目————回溯给你一个整数数组 digits ,其中每个元素是一个数字(0 - 9)。数组中可能存在重复元素。你需要找出 所有 满足下述条件且 互不相同 的整数:该整数由 digits 中的三个元素按 任意 顺序 依次连接 组成。该整数不含 前导零该整数是一个 偶数例如,给定的 digits 是 [1, 2, 3] ,整数 132 和 312 满足上面列出的全部条件。将找出的所有互不相同的整数按 递增顺序 排列,并以数组形式返回。示例 1:输入:dig...

2022-03-16 23:07:46 430

原创 java代理模式

在我们了解反射之前,我们使用的是静态代理,会有代理类与被代理类同时实现一个接口,以达到通过调代理类来调用被代理类的一些方法一.静态代理interface ClothFac{ void productCloth();}//代理类class proClothFac implements ClothFac{ private ClothFac clothFac; public proClothFac(ClothFac clothFac){

2022-03-15 23:00:25 59

原创 网络编程java

在简单的网络编程中,需要服务器与客户端的连接一.TCP的简单使用(可信但效率低)①自定义客户端与服务器,进行图片的复制客户端public void client() { OutputStream os = null; FileInputStream file1 = null; InputStream is = null; ByteArrayOutputStream bo = null;

2022-03-15 22:57:02 349

原创 java常见算法

1.最为典型的求最长公共前缀1.1编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀首先我们在比较几个字符时,会先想到用第一个字符来遍历其他字符,以来...

2022-03-15 22:52:35 309

原创 java常见算法

冲刺蓝桥杯国赛输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"class Solution { public String addBinary(String a, String b) { StringBuffer ans = new StringBuffer.

2022-03-15 17:18:00 248

原创 java常见算法

题目1给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ["0","0","0","0","0"]]输出:1...

2022-03-14 21:35:41 101

原创 java常见算法

1.题目描述观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 7 3 8 8 1 0 2 7 4 44 5 2 6 5在上面的样例中,从 7 \to 3 \to 8 \to 7 \to 57→3→8→7→5 的路径产生了最大输入输出样例输入 #1573 88 1 02 7 4 4...

2022-03-12 13:24:07 930

空空如也

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

TA关注的人

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