反转链表(迭代和递归)

递归版class Solution {public: ListNode* reverseList(ListNode* head) { if(head==nullptr||head->next==nullptr) return head; auto node=r


深度优先搜索(dfs)问题集合

迷宫(dfs)一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由 n∗n 的格点组成,每个格点只有2种状态,.和#,前者表示可以通行后者表示不能通行。同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点A走


宽度优先搜索(BFS)问题集合

池塘计数(bfs)农夫约翰有一片 N∗M 的矩形土地。最近,由于降雨的原因,部分土地被水淹没了。现在用一个字符矩阵来表示他的土地。每个单元格内,如果包含雨水,则用”W”表示,如果不含雨水,则用”.”表示。现在,约翰想知道他的土地中形成了多少片池塘。每组相连的积水单元格集合可以看作是一片池塘。每个单元


月のLeetCode 每周刷题之 Week11

单源最短路问题德克萨斯纯朴的民众们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是它们并不是很擅长生产富含奶油的乳制品。农夫John此时身先士卒地承担起向德克萨斯运送大量的营养冰凉的牛奶的重任,以减轻德克萨斯人忍受酷暑的痛苦。John已经研究过可以把牛奶从威斯康星运送到德克萨斯州


月のLeetCode 每周刷题之 Week10

平均分组输出n个数,以回车结束输入,把这些数分成两组,使得两组的差值c(c>=0)最小,输出这个差值输入示例13 2 6输出示例11输入示例24 6 7 9输出示例20思路:前缀和设第一组的数之和为x,第二组数之和为y,所有数之和为sum则有 x+y=sum设c为最小的差值,则c=|x-y


2022.3.26 动态规划,迪杰斯特拉算法题目

1. 小红杀怪题目描述小红在一个游戏里杀怪。这是个回合制游戏,小红和两只怪物相遇了。第一只怪物有a血量,第二只怪物有b血量。小红有两个技能:第一个技能叫火球术,效果是对单体怪物造成x伤害。第二个技能叫烈焰风暴,效果是对每只怪物造成y伤害。小红想知道,自己最少使用多少次技能,可以击杀这两只怪物?(当怪