![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
刷题笔记
文章平均质量分 55
刷题
Ambrosedream
这个作者很懒,什么都没留下…
展开
-
动态规划之连续乘积最大子数组 & 连续和最大子数组
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [5,4,-1,7,8]输出:23。原创 2023-09-02 12:04:27 · 755 阅读 · 0 评论 -
动态规划之容量问题
题目:给你一个二进制字符串数组 strs 和两个整数 m 和 n 。请你找出并返回 strs 的最大子集的大小,该子集中 最多 有 m 个 0 和 n 个 1 。如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。输入:strs = [“10”, “0001”, “111001”, “1”, “0”], m = 5, n = 3输出:4解释:最多有 5 个 0 和 3 个 1 的最大子集是 {“10”,“0001”,“1”,“0”} ,因此答案是 4 。其他满足题意但原创 2021-03-29 15:33:50 · 279 阅读 · 0 评论 -
算法题学习记录(一)
题目双指针、哈希、字符串import java.util.*;import java.util.*;public class Solution { /** * * @param S string字符串 * @param T string字符串 * @return string字符串 */ public String minWindow (String S, String T) { // write code原创 2021-03-23 11:59:21 · 134 阅读 · 0 评论 -
BFS与DFS
BFS 与DFS回顾package graph;import java.util.LinkedList;import java.util.Queue;public class Main { public void bfs(int[][] graph, int st) { boolean[] visit = new boolean[graph.length]; Queue<Integer> que = new LinkedList<>原创 2021-03-20 23:13:03 · 89 阅读 · 0 评论 -
动态规划之照明路灯
题目一条长l的笔直的街道上有n个路灯,若这条街的起点为0,终点为l,第i个路灯坐标为ai ,每盏灯可以覆盖到的最远距离为d,为了照明需求,所有灯的灯光必须覆盖整条街,但是为了省电,要使这个d最小,请找到这个最小的d。来源:牛客网测试用例输入:每组数据第一行两个整数n和l(n大于0小于等于1000,l小于等于1000000000大于0)。第二行有n个整数(均大于等于0小于等于l),为每盏灯的坐标,多个路灯可以在同一点。7 1515 5 3 7 9 14 0输出:输出答案,保留两位小原创 2021-03-17 12:45:37 · 2597 阅读 · 1 评论 -
动态规划再学习之跳石板
题目小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3…这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。例如:N = 4,M = 24:4->6->8->12->18->24于是小易最少需要跳跃5次,就可以从4号石板跳到24号石板思考原创 2021-03-15 10:56:36 · 397 阅读 · 1 评论 -
经典回溯算法之矩阵中的路径
概念回溯算法 实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。题目链接来源:牛客网请设计一个函数,用来判断在一个矩阵中是否存在一条包原创 2021-03-12 23:47:15 · 332 阅读 · 0 评论 -
LSTM模型
概念LSTM:长短期记忆细胞神经网络长短期记忆网络是一种时间递归神经网络,适合处理和预测时间序列中间隔和延迟相对较长的重要事件。使用遗忘门的LSTM适用于连续性的预测。LSTM避免了RNN(循环神经网络)网络的梯度消失和梯度爆炸问题。LSTM 使用记忆单元代替神经元。组成一个LSTM单元由一个记忆细胞 CtC_tCt 和三个门结构组成(输入门 iti_tit 、遗忘门 ftf_tft、输出门 oto_tot).在 t 时刻,xtx_txt代表输入数据,hth_tht代表隐藏层。X原创 2021-03-08 16:34:43 · 4142 阅读 · 0 评论 -
无规则字符串转化为整数
字符串转化为整数题目来源:牛客网实现函数 atoi 。函数的功能为将字符串转化为整数提示:仔细思考所有可能的输入情况。这个问题没有给出输入的限制,你需要自己考虑所有可能的情况。思路题意中表明,字符串中可能包含非数字,比如 “+”、“-”、“a”、等其他符号。所以我们在转化数字的时候需要注意一下几点:开始部位的符号中间的符号(取前部分数字,后部分截断)判断是否会溢出空格处理开始部位的符号我们只需要设一个变量 sign 存储一下就可以了;中间部位的符号,只需要判断某一点字符是否在区间原创 2021-03-08 13:29:34 · 146 阅读 · 0 评论 -
递归之镜像二叉树
关于树的题目使用递归解决是最方便的。题目:给定一棵二叉树,判断琪是否是自身的镜像(即:是否对称)题目来源初始思路最直观的解法就是比较对称位置上的结点值是否相同。我们知道二叉树的遍历有前序、后序、中序三种最常用的方法。我们可以在迭代遍历二叉树的同时进行数值的比较。只要有一个不等就可以确定不相似。第一个问题就是对称点的对应问题,我们必须保持根节点的两个子树的遍历顺序是镜像的,即左子树:根、左、右;右子树:根、右、左。我们可以使用前序遍历遍历左子树,使用对称的前序遍历遍历右子树。改进思路我们每原创 2021-03-02 15:22:21 · 152 阅读 · 0 评论 -
归并排序再复习
排序链表leetcode 148题:本题目要求将链表进行排序。时间复杂度为O(nlogn)的排序算法有:归并排序、堆排序、快排。其中由于链表不能随机读取,归并排序最适合链表的排序。归并排序归并排序是一个分治的过程。找到链表的中点,以中点为界,将链表拆分为两个子链表。对两个链表分别归并排序。(递归过程,递归终止条件是不可再分,一个点)。合并链表。(merge函数将两个有序链表合并)最终合并为一个链表。class Solution{ public ListNode sortList(L原创 2021-02-25 20:30:01 · 98 阅读 · 0 评论 -
整数反转与回文数问题
整数反转与回文数问题将整数最高位变为最低位,对称反转。反转后的数字与原数字相等即为回文数。整数反转初始思路将数字转换为字符串数组,数组反转 。利用 StringBuilder 的reverse函数。这种方法效率并不高,但容易理解与思考优化题解考虑到每一位数字之间是10进制的关系,可以将数字看做一个栈,利用取余(%10)得到顶部数据。第一个数字是个位数字,第二个数字是个位数字乘以10加上十位数字,依次迭代可以得到反转数字。注意反转的时候可能会产生溢出的数字,即 当数字乘以10大于最大值,原创 2021-02-24 15:57:31 · 498 阅读 · 0 评论 -
反转单链表
反转链表反转一个单链表:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL迭代法使用两个指针从头结点开始逐个改变方向,一次循环。/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* List原创 2021-02-23 12:17:24 · 85 阅读 · 0 评论 -
并查集学习
并查集并查集是一种森林或树数据结构,常用来处理不相交集合的合并、查询问题。并查集和深度优先搜索、广度优先搜索是图的环的三个查询方法。如上图所示,我们通常将并查集初始化为nnn个 单节点集合,然后根据题目中提供数据对并查集进行合并,最后可能构成一棵树(连通图)或者一个森林(非连通图)。采用并查集处理的问题一般都有如下特点:数据量极大,用其他数据结构往往空间复杂度难以接受。使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的运行时间(1~3秒)内计算出试题需要的结果。原创 2021-01-27 15:05:37 · 109 阅读 · 0 评论