![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode | 算法与数据结构
文章平均质量分 85
无
三十三天天堂堡
这个作者很懒,什么都没留下…
展开
-
力扣刷题手册
前言: 随缘刷题,认真记录文章目录字符串相加K次操作转字符串找出数组游戏的赢家粉刷天花板整理字符串字符串相加8/3力扣415字符串相加.用字符串的方法来模拟加法过程,使用双指针从尾部开始遍历,逐个相加:需要解决的问题:进位。两数长短不一致。解决方案:进位问题: 用一个变量记录每次相加中有没有进位,如果进位了该位置1,将加到下一个两两相加的结果中。两数长度不一样: 有一个数已经到达数组头部时(已经加完了) 将其设为0,依然相加。class Solution { pub.原创 2020-08-03 16:06:22 · 1367 阅读 · 0 评论 -
力扣 | 滑动窗口
滑动窗口多应用于在数组或字符串中寻找特定解决问题的区间其核心在于考虑如何表达窗口的扩大和缩小,以及结果集的更新。解题框架非常明显,难在细节和思路实现。原创 2020-08-17 15:58:17 · 1173 阅读 · 1 评论 -
线索二叉树的实现_C
线索二叉树的背景在聊线索二叉树之前,先来看看单向链表:单向链表的每一个结点都有指向下一个结点的指针域,却没有指向上一个结点的指针,给使用带来不方便,为此双向链表应运而生 。在二叉树中想知道某个结点的前驱结点是谁的时候,就得重新遍历一遍, 浪费时间。所以,有人创建了一棵树,在进行第一遍某种遍历方式的时候,就”顺便“ 记录一下某些结点的前驱结点和后继结点 。我们知道二叉树有4种遍历, 前/...原创 2020-02-25 14:30:27 · 338 阅读 · 0 评论 -
PTA 7-2 然后是几点 (15 分)
7-2 然后是几点 (15 分)有时候人们用四位数字表示一个时间,比如1106表示11点零6分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个数字表示的分钟数可能超过60,也可能是负...原创 2019-11-07 16:20:11 · 506 阅读 · 0 评论 -
pta 7-15, 7-16
7-15 计算圆周率 (15 分) 根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。2π=1+31+3×52!+3×5×73!+⋯+3×5×7×⋯×(2n+1)n!+⋯输入格式: 输入在一行中给出小于1的阈值。输出格式: 在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。输入样例:0.01 输出样例:3.13215...原创 2019-11-14 16:57:06 · 208 阅读 · 0 评论 -
【力扣 129. 求根到叶子节点数字之和】 回溯/dfs 记录一些问题
前言: 这道题目不难, 这里不做解释了,只是记录做题中遇到的一个问题。思路还是深度遍历 : 碰到叶子节点就返回。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { .原创 2020-05-09 12:30:22 · 114 阅读 · 0 评论 -
【力扣 113. 路径总和 II】 dfs/回溯两种解法
给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。原创 2020-05-07 20:24:09 · 235 阅读 · 0 评论 -
深度优先搜索(dfs)栈实现-C语言版-
DFS : 栈实现(后进先出: 吃饱了吐的)操作方法: (来源网络)把起始点放入栈重复 一下步骤访问栈顶元素的点找出该该点没有被访问过的邻接点,将其压栈如果这个点没有尚未遍历的邻接点,将其弹出说明: 这个示例和上面的操作方法有点不一样 具体实现方式如下:先将初始访问点访问了, 再将他的邻接点全部压栈重复一下步骤:在栈不空的时候: 访问栈顶元素(pop)出来...原创 2020-03-28 13:01:42 · 3599 阅读 · 0 评论 -
【java】数细胞
题目描述一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。样例输入4 101 2 3 4 5 1 1 1 6 7 1 0 3 4 5 6 1 5 1 02 0 4 5 6 6 1 6 7 10 0 6 0 6 6 1 0 8 912345样例输出1使用dfs完成class cell...原创 2020-04-04 12:12:13 · 213 阅读 · 0 评论 -
【java】 202006-2 csp稀疏向量60分问题解决
文章目录题目描述java数据录入问题java整型数组能开多大ac代码题目描述这道题做的磕磕碰碰,好歹最后还是做出来了。java数据录入问题在网上查阅资料发现java的scanner类读数据是很慢的,刷OJ的最好使用BufferedReader示例:class Reader { static StringTokenizer token =new StringTokenizer(""); static BufferedReader reader =new Buffered原创 2020-08-28 17:22:11 · 886 阅读 · 0 评论 -
[PTA]7-22 龟兔赛跑(20分)
输入格式:输入在一行中给出比赛时间T(分钟)。原创 2020-03-07 12:02:26 · 399 阅读 · 0 评论 -
【pta7-4 】是否同一棵二叉搜索树
前言: 最近在听浙大的算法与数据结构,跟着视频打了一个程序,放在这里记录一下 学习过程题目:给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组...原创 2020-02-07 18:01:47 · 3258 阅读 · 2 评论 -
力扣刷题手册2
文章目录1. Dota2参议院1. Dota2参议院力扣649.Dota参议院思路:就是一大帮不同阵营的人,按顺序投票,一轮一轮接下去,笑到最后的就是赢家。1、 必须保证他们每一轮的位置是相对固定的2、在各轮投票中,不断地淘汰对方阵营的人,淘汰地策略是什么呢? 先得到投票权的人,必定要淘汰离自己最近的敌方阵营的人,很容易想到这个贪心策略。3、 那如何在淘汰,投票后进入下一轮保持这个位置呢? 仔细想想,这个过程很像排队,一个人投完就得等下一轮,相当于又去到末尾。4、那类似排队模拟,必须是使用队列原创 2021-10-27 09:43:21 · 151 阅读 · 0 评论 -
力扣 | 动态规划
力扣152. 乘积最大子数组给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积示例 :输入: [2,3,-2,4] 输出: 6解释: 子数组 [2,3] 有最大乘积 6。输入: [-2,0,-1] 输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。这道题如果按照 53. 最大子序和 来写的话,就会简单想到一个dp数组, 记录着以num[i]为结尾的最大乘积的数。但是如果这样做的话, 就是错误原创 2021-10-12 10:05:23 · 185 阅读 · 0 评论 -
10/24 自动机FDA| 力扣刷题笔记
前言:最近在看师兄留下来的代码, 其中设计到状态机的问题,现在又来学自动机,暂时也不知道状态机和自动机的区别。 但觉得有点类似在刷csp第三题的时候(啊好难) 也有需要根据前面状态来决定当前步骤的,再不想写一长串if-else了,也是学自动机的动力(我要拿300分!)不过最近在学时序组合电路,发现思想也很重合,果然我们学习的东西都是相辅相成的吗hhh~自动机的原理还没弄懂,刷题直接感受吧这里不仅仅是自动机刷题的笔记,也涉及了我在刷题中为了避免写出一大堆if-else的思考。力扣393.UTF原创 2020-10-24 10:13:21 · 265 阅读 · 0 评论 -
蓝桥杯填空笔记
网页保存不了源代码,在这里暂存一下文章目录201903-2 小中大201903-2 小中大 class Main { public static void main(String args[]) throws IOException { int n = Reader.nextInt() ; int first=0,last=0 ; int isOdd= n%2 ;// 为0:偶数 奇数:1 int s1=0,s2=0,t.原创 2020-12-01 16:46:34 · 465 阅读 · 1 评论 -
[Java实现]逆波兰式
前言:一个表达式有中缀表达式,前缀表达式,后缀表达式三种表示方法,如1+2*3-8/2=3,因为操作符以中缀形式处于操作数的中间叫做中缀表达式后缀表达式:运算符在操作数的后面。 上式的后缀表达式就是123*+82/-虽然人的大脑很容易理解与分析中缀表达式,但对计算机来说中缀表达式是很复杂的,因此计算表达式的值时,通常需要先将中缀表达式转换为前缀或后缀表达式,然后再进行求值。对计算机来说,计算前缀或后缀表达式的值非常简单。中缀表达式转后缀要将一个中缀表达式转化成后缀表达式,需要用到栈这个数据结构原创 2020-12-02 22:26:47 · 345 阅读 · 0 评论 -
力扣 | 二叉树刷题笔记
今天两道题是找二叉树的公共祖先,不同点是二叉树一棵是普通二叉树,另外一棵是搜索二叉树。先说搜索二叉树:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x的深度尽可能大(一个节点也可以是它自己的祖先)。”解题思路:搜索二叉树的的性质就是对于任意一个结点,它的左子树所有值都要比它小,右子树的所有结点值都要比它大。既然是二叉搜索树,那么root结点的值原创 2020-09-28 21:36:25 · 393 阅读 · 0 评论 -
回溯算法 | 力扣刷题笔记
回溯算法学习篇:文章目录电话号码的字母组合电话号码的字母组合8/18.力扣17典型的回溯算法题型:原创 2020-10-05 23:55:03 · 261 阅读 · 0 评论