数据结构与算法(leetcode)
归纳总结一些常见的数据结构与算法题
喵小姐的邻居小小朱
这个作者很懒,什么都没留下…
展开
-
迭代加深搜索+启发式搜索
这个得慢慢写啊原创 2019-01-16 23:18:45 · 1053 阅读 · 0 评论 -
栈的使用_leetcode刷题总结
那些可以用栈可以轻松AC的题目:1、有效的括号 https://leetcode-cn.com/problems/valid-parentheses/给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “...原创 2019-01-16 19:35:33 · 543 阅读 · 0 评论 -
动态规划初步续_leetcode刷题总结
紧接着上一篇,继续撕~上一篇已经举例了不少,可能大家会有一种感觉是,动态规划计算顺序十分的直接,从前往后算就行啦,但是这可能是一种错觉哦~比如这一题:8、地下城游戏 https://leetcode-cn.com/problems/dungeon-game/一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安...原创 2019-01-16 15:29:09 · 160 阅读 · 0 评论 -
动态规划初步_leetcode刷题总结
动态规划,我之前也是不了解的,嘻嘻嘻只是后面发现在相关搜索题目中,如果只需要求解的树木或者相关数值问题时候,往往使用动态规划会比深度遍历搜索高效很多。jio得还可以好吧因为考虑到大家对于动态规划不是很熟悉,我们先来一个简单的小练习来上手下动态规划。对于爬楼梯的问题,相信大家都比较熟悉吧,一次可以走一步,也可以走两步,请问走到第100步,有多少种走法?首先,这个问题,很容易想到 f(100...原创 2019-01-15 21:43:25 · 219 阅读 · 0 评论 -
滑动窗口复习以及变种_leetcode刷题总结
额,其实我一开始也不知道滑动窗口的,哈哈哈哈哈1、无重复字符的最长子串 https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “a...原创 2019-01-15 18:15:38 · 223 阅读 · 0 评论 -
搜索相关专题_leetcode刷题总结
leetcode上面很多关于状态求解的题目,本质上都是属于搜索问题,对于基本的搜索,主要可以分成BFS和DFS两种。可能部分小伙伴对于搜索不是很熟悉,但是一说深度(DFS)和广度遍历(BFS)就会联想到图的广度和深度遍历,其实除了图有BFS、DFS,树也有嘛,层次遍历就是广度遍历嘛,前序、中序、后序遍历就是深度遍历嘛。当然除了很明显的遍历搜索,有些属于隐性的深度、广度搜索,一般来说深度搜索会比较...原创 2019-01-14 21:12:55 · 170 阅读 · 0 评论 -
链表的相关操作(2)_leetcode刷题总结
再来一波关于单链表的骚操作,嘻嘻嘻继续来复习链表的操作~复制带随机指针的链表 https://leetcode-cn.com/problems/copy-list-with-random-pointer/给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深度拷贝。...原创 2019-01-14 17:52:57 · 129 阅读 · 0 评论 -
链表的相关操作(1)_leetcode刷题总结
来一波关于单链表的骚操作,嘻嘻嘻关于链表这种结构,上数据结构的时候大家其实都是有了解过的啦,其实接下来总结的这些题目呢,大多都是基础题目,但是个人感觉要想比较高效、优美的实现,也是要注意一些小trick的啦。1、 删除链表的倒数第N个节点 https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/给定一个链表,删除链...原创 2019-01-14 14:16:59 · 123 阅读 · 0 评论 -
nsum 问题集锦_leetcode刷题总结
对于刷到的nSum问题做一个复习1、两数之和 https://leetcode-cn.com/problems/two-sum/给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15]...原创 2019-01-13 18:08:38 · 442 阅读 · 0 评论 -
巧用二分法_leetcode刷题总结
二分法巧解题谈到二分法,你会想到啥?嗯,本人作为一名非ACMer的小菜鸡,一开始的时候,脑子想到的就是上过的算法课上老师说可以用二分法在有序数组里面进行快速查找,并且又一个十分显著的特征,时间复杂度是log2n 量级的。记忆中二分查找的代码模版:public void find(int[] num,int target){ int left = 0,right = num.lenth;...原创 2019-01-13 14:08:15 · 330 阅读 · 0 评论