数据结构与算法练习
算法题记录
fyycode
雄关漫道真如铁,而今迈步从头越
展开
-
LeetCode1048 最长字符串链
最长字符串链的解题思路原创 2023-08-19 12:47:39 · 264 阅读 · 0 评论 -
LeetCode1218 最长定差子序列
最长定差子序列的解题思路原创 2023-08-19 12:56:36 · 285 阅读 · 0 评论 -
LeetCode1387 将整数按权重排序
将整数按权重排序的解题思路原创 2023-08-19 13:02:34 · 351 阅读 · 0 评论 -
螺旋矩阵——蓝桥杯模拟题
题目问题描述对于一个 n 行 m 列的表格,我们可以使用螺旋的方式给表格依次填上正整数,我们称填好的表格为一个螺旋矩阵。 例如,一个 4 行 5 列的螺旋矩阵如下: 1 2 3 4 514 15 16 17 613 20 19 18 712 11 10 9 8 输入格式输入的第一行包含两个整数 n, m,分别表示螺旋矩阵的行数和列数。 第二行包含两个整数 r, c...原创 2020-04-18 17:50:40 · 482 阅读 · 0 评论 -
变进制数-算法
答案import java.util.Scanner;class Solution{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] jinzhi = {1,2,3,5,7,11,13,17,19,23}; String string = scanner.next(); int len = string.length(); int res = 0;.原创 2020-11-29 15:23:26 · 145 阅读 · 0 评论 -
字符串需要至少多少次移动才能回文呢
试题 基础练习 矩形面积交题目问题描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。 交换的定义是:交换两个相邻的字符 例如mamad 第一次交换 ad : mamda 第二次交换 md : madma 第三次交换 ma : madam (...原创 2020-04-24 14:40:34 · 784 阅读 · 0 评论 -
矩形面积重叠---蓝桥杯训练题
试题 基础练习 矩形面积交题目资源限制时间限制:1.0s 内存限制:512.0MB问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。 输入格式 输入仅包含两行,每行描述一个矩形。 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。 ...原创 2020-04-24 15:02:52 · 310 阅读 · 0 评论 -
矩阵的幂运算--蓝桥杯
试题 基础练习 矩阵乘法题目资源限制时间限制:1.0s 内存限制:512.0MB问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22输入格式 第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,...原创 2020-04-24 15:41:33 · 5009 阅读 · 0 评论 -
三角形最大周长算法
答案:class Solution { public int largestPerimeter(int[] A) { int len = A.length; if(len < 3){ return 0; } Arrays.sort(A); while(len-3>=0){ if(A[len-1]-A[len-2] < A[len-3]){ ...原创 2020-11-29 15:26:11 · 419 阅读 · 0 评论 -
LeetCode 1700. 无法吃午餐的学生数量
刷题原创 2022-10-21 13:39:26 · 232 阅读 · 0 评论 -
LeetCode 901. 股票价格跨度
刷题原创 2022-10-21 13:24:58 · 91 阅读 · 0 评论 -
Leetcode 779. 第K个语法符号
刷题原创 2022-10-21 12:44:44 · 107 阅读 · 0 评论 -
计算力扣银行的钱(leetcode1716)
前言easy题我重拳出击!题目Hercy 想要为购买第一辆车存钱。他 每天 都往力扣银行里存钱。最开始,他在周一的时候存入 1 块钱。从周二到周日,他每天都比前一天多存入 1 块钱。在接下来每一个周一,他都会比 前一个周一 多存入 1 块钱。给你 n ,请你返回在第 n 天结束的时候他在力扣银行总共存了多少块钱。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/calculate-money-in-leetcode-bank著作权归领扣网络原创 2022-01-15 17:45:09 · 94 阅读 · 0 评论 -
多数元素(leetcode169)
多数元素leetcode1691、题目给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majority-element著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。点击跳转力扣169多数元素2、思路摩尔投票算法。个人理解:记录第一个数为flag,原创 2022-01-13 17:10:07 · 332 阅读 · 0 评论 -
去除重复字母(Java实现)
题目 去除重复字母给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。示例1输入:s = “bcabc”输出:“abc”示例2输入:s = “cbacdcbc”输出:“acdb”数据范围1 <= s.length <= 104s 由小写英文字母组成来源:力扣(LeetCode)https://leetcode-cn.com/problems/remove-duplica原创 2021-04-06 09:16:38 · 1240 阅读 · 0 评论 -
回溯算法之八皇后问题(Java实现)
要求用回溯法求解 8-皇后问题八皇后问题:使放置在 8*8 棋盘上的 8 个皇后彼此不受攻击。即:任何两个皇后都不在同一行、同一列或同一斜线上。请输出 8 皇后问题的所有可行解的总数。public class EightQueen { public static int[][] array = new int[8][8]; public static int sum; public static void main(String[] args) {原创 2021-04-06 09:16:06 · 272 阅读 · 0 评论 -
回溯算法之装载问题(Java实现)
问题描述用回溯法编写一个递归程序解决如下装载问题:有 n 个集装箱要装上 2 艘载重分别为 c1 和 c2的轮船,其中集装箱 i 的重量为 wi(1≤ i ≤ n),且∑ ???????? ≤ ????1 + ????2 。问是否有一个合理的装载方案可以将这 n 个集装箱装上这 2 艘轮船?如果有,请给出装载方案。示例当 n=3,c1=c2=50,且 w=[10,40,40]时,可以将集装箱 1 和 2 装到第一艘轮船上,集装箱3装到第二艘轮船上;如果 w=[20,40,40]时,无法将原创 2021-04-06 09:15:35 · 1031 阅读 · 0 评论 -
二叉树的锯齿形层序遍历(Java实现)
题目给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。###示例给定二叉树 [3,9,20,null,null,15,7],返回锯齿形层序遍历如下:[ [3], [20,9], [15,7]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal/Java代码实现i原创 2021-04-06 09:15:05 · 372 阅读 · 1 评论 -
分发糖果(Java实现)
题目老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/candy示例1输入: [1,0,2]输出: 5解释: 你可以分别给这三个孩子分发 2、1、2 颗原创 2021-04-06 09:14:32 · 743 阅读 · 0 评论 -
Z字变换(Java实现)Leetcode 6
题目将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRo原创 2021-04-06 09:12:30 · 89 阅读 · 0 评论 -
岛屿的周长-LeetCode463
题目给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。来源:力扣(LeetCode)输入:[[0,1,0,0],[1,1,1,0],[0,1,0,0],[1,1原创 2020-11-01 09:08:22 · 154 阅读 · 0 评论