生息之地

随便写写

leetcode 564. Find the Closest Palindrome

结果到最后都没有调试出来自己的程序,还是用了别人的…… 解题思路 这道题目的意思是,给予一个数字,计算与这个数字距离最小的回文字符串(不能是自身),如果有距离相同的话选择最小的那个。 首先考虑回文字符串的字符串根,比如对于1213,字符串根为12,12131的话为121。这时候很明显,如果不是回文...

2018-12-09 20:39:52

阅读数 19

评论数 0

leetcode 839. Similar String Groups 解题报告

很明显的一个隐式图下连通分量计数。下面是比较明显的一个思路,通过遍历所有点,对于以前没有访问过的点进行深度优先搜索找到该连通分量内的所有结点,并在一个数组内进行标记。整体来说是O(n^2)级别,比25%左右的C++代码快。 #include <iostream&amp...

2018-12-02 18:47:03

阅读数 41

评论数 0

leetcode 123. Best Time to Buy and Sell Stock III 解题报告

标签为Hard,动态规划题目 与一般的股票题目类似,但是最多支持两次卖出操作,很容易想到多开一个维度。 设F[i][j]为第i次操作后第j天卖出时能得到的最大收益 有F[i][j]=max{F[i-1][0..j-1]}+prices[j]-min{prices[i]}(i<...

2018-11-25 12:15:38

阅读数 25

评论数 0

leetcode 115 Distinct Subsequences

题目大意是给出两个字符串S和T,要求求出S中与T相匹配的子字符串的数量。 子字符串可以通过从S中删除元素且不改变剩余元素顺序的方式得到。 想法1 这是个动态规划题目,从题目的描述中其实就有陷阱,因为按照删除方法的话很难以去构建状态转移方程。子字符串的构建可以通过增加的方式,即每次找到一个S与T相匹...

2018-11-18 14:48:04

阅读数 20

评论数 0

leetcode 97. Interleaving String (hard)

一道动态规划的hard级题目,虽然实际上也不算难。 因为上一周做的动态规划题目的影响,开始的时候也没有想着去写状态转移方程,考虑直接用递归做记忆化搜索(实际上就是暴力搜索) class Solution { public: bool isInterleave(string s1, stri...

2018-11-10 18:17:44

阅读数 27

评论数 0

leetcode 87 scramble string

开始的想法:暴力模拟 直接模拟,题目的意思是根节点下的两个孩子可以交换,就递归模拟。然而后面发现根节点的位置似乎并不是固定的,故失败。 我的代码:错误代码 #include <iostream> #include <vector&a...

2018-11-04 09:18:08

阅读数 42

评论数 0

leetcode 72.Edit distance 解题报告

这是一道经典的动态规划的题目,虽然我自己也没有写出来状态转移方程就是了。 用dp[i][j]来表示word1[0…i-1]转移到word2[0…j-1]的最小步数 其中i的取值从1到word1.length(),j的取值从1到word2.length() 很容易有边界条件: dp[i][0] = ...

2018-10-28 10:48:02

阅读数 20

评论数 0

leetcode 99. recover binary search tree 算法题解

题目给出了一个二叉搜索树,这个二叉搜索树中有两个节点被错误地交换了,题目的要求是恢复这棵二叉搜索树。 我第一时间冒出的想法就是暴力搜索,枚举所有节点,然后检查二叉搜索树是否符合要求,复杂度为O(n2)O(n^2)O(n2)。这个显然太暴力了,不是没有办法不会用这个方法。 第二个想法就是分类讨论,两...

2018-10-21 17:07:28

阅读数 21

评论数 0

leetcode 126. Word Ladder II解题报告

题目给出了一个单词表,一个起始单词和一个结尾单词,要求找出所有的最短路径。 因为一开始没有看到找出所有路径,写的是双向BFS搜索,后面改了一下,使用BFS进行查找。 将原本的parent数组改为了vector<vector<string&...

2018-10-12 20:16:36

阅读数 35

评论数 0

leetcode 149. Max Points on a Line

题目并不复杂,但是要考虑到的情况也是不少。需要注意一条线上有多个点的情况。 第一种方法 非常容易想到的是暴力枚举,即对于一个点而言,所有与它在同一条线上的点必定会有相同的斜率,所以只要记下相同斜率时的最大点数即可。这里有一个问题时如果所枚举点重复出现的时候比较麻烦,需要用另外一个变量记录下来。...

2018-10-07 17:58:52

阅读数 48

评论数 0

leetcode 10. Regular Expression Matching 解题报告

这道题单论难度倒是不难,但是要考虑的方面比较多,因此很容易掉进坑里去。 题目的大意是模拟正则式匹配,合法的原串输入是26个小写字母,匹配正则串的输入是小写字母以及’.‘和’*’。 这其中唯一比较麻烦的就是*了,因为它可以有0到原串长度的可能,所以我认为应该用递归来做(原来是用for循环,但是发现怎...

2018-09-23 12:16:03

阅读数 48

评论数 0

leecode 4. Median of Two Sorted Arrays 解题报告

朴素解法 求中位数一般是用归并排序,按照类似快排的思想求第k/2大的数。但是由于给定的两个数组都是有序的,一般第一眼看到这个问题,最先想到的就是两个数组做排序,然后输出中位数。不得不说leetcode的数据也是仁慈,居然直接就过了……这个思路实在是太简单了,就不讲了,看代码就好了。 #includ...

2018-09-23 10:08:42

阅读数 34

评论数 0

leetcode 3. 无重复字符的最长子串 解题代码

不知道为什么上不去本站了,只能够上中国站。因为这道题目比较简单,所以只是贴上代码。 这道题目的思路很简单,就不赘述了。这里反思自己的一个小问题,即开始的时候脑抽的以为题目只会给26个字母,所以直接用了一个数字作位运算来作为集合使用,但是后来发现不对劲,于是用了STL的集合。 #include &a...

2018-09-22 16:56:40

阅读数 27

评论数 0

leetcode 863. All Nodes Distance K in Binary Tree 解题报告

题目 题目的大致意思是给出一个二叉树,一个二叉树上的点和一个距离,要求二叉树上所有距离这个点指定距离的其他点。 因为二叉树是有向的,基于它给出的数据很难在不使用其他数据结构的情况下直接求出这个点,所以我先用这个二叉树建立了一个无向图,再从给定节点对无向图进行广度优先遍历,从中找出深度为K的点,...

2018-09-15 17:19:23

阅读数 88

评论数 0

leetcode 32题 Longest Valid Parentheses 解题报告

leetcode algorithm 32题 Longest Valid Parentheses 解题报告 原题地址 这个题目一眼看过去就是用栈做,然后我就顺手写了个栈试了一些,结果就过了…… 然而这道题是归类在动态规划里面的,所以我后面会再尝试用动态规划的知识来解决,至少我花了两个小时还没...

2018-09-05 22:29:11

阅读数 42

评论数 0

【noip2014提高组】飞扬的小鸟

#include #include #include #include #define maxn 10010 using namespace std; const int inf = 0x7ffffff; int n,m,k,p,l,h; int x[maxn],y[maxn],down...

2015-07-16 18:57:05

阅读数 1044

评论数 0

【NOIP2015】day1第一题:生活大爆炸版 石头剪刀布

#include #include using namespace std; #define MAXN 210 int r[5][5]={0,0,1,1,0, 1,0,0,1,0, 0,1,0,0,1, 0,0,1,0...

2015-03-22 10:37:52

阅读数 1755

评论数 0

【P1777】引水入城 NOIP2010

10分代码,不知道哪里出了问题:

2014-11-07 11:53:28

阅读数 529

评论数 0

【P1776】关押罪犯 noip2010

因为自己的程序不知道出了什么错误莫名其妙地死掉了,只能用一下大神的题解了

2014-11-07 09:20:10

阅读数 511

评论数 0

【20141107noip】模拟训练第一题:combo

连续自然数和 源程序名    combo.??? (pas,c,cpp) 可执行文件名   combo.exe 输入文件名   combo.in 输出文件名     combo.out   对一个给定的自然数M,求出所有的连续的自然数段,这些连续的自然数段中的全部数之和为M。 例子...

2014-11-07 09:17:00

阅读数 303

评论数 0

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