![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
明目先生
这个作者很懒,什么都没留下…
展开
-
【算法经典--leetcode】省份数量问题
总结无论哪种方法在标记之前一定要有判断标记的操作,这样会防止死循环现象,无论你是否理解这都是一个保险的操作对于图的遍历有几个要素:一定有一个visited数组来进行标记。dfs经典递归,bfs经典队列,在一些模拟题当中还可以使用直接遍历的方式两层for循环对于并查集还需要判断层高才能够按规则合并,因此还要有一个level数组。level的增加情况只有在两个要合并的树是相同的层高才会出现加一,因为我们已经约定了低层高的树要并入高层树,这样层高是不会改变的。dfs方法static int ge原创 2022-04-17 15:53:56 · 280 阅读 · 0 评论 -
【leetcode-算法】滑动窗口相关
原创 2022-03-28 20:28:17 · 127 阅读 · 0 评论 -
【leetcode】算法基础--动态规划
动态规划二要素代价获利代码反推组成优化一维数组实现dynamic原创 2022-03-19 21:31:53 · 85 阅读 · 0 评论 -
【leetcode】算法基础研究——递归详解
前言相信很多人对于递归都有概念,但是在做题时想用递归时却发现用不好,或者说不知道参数设置,递归方法该写在哪里,这些都是递归相关基础知识不牢靠导致的。本文为本人自学研究笔记,针对递归常见问题做出一些解释并深入研究,以求达到灵活运用。什么是递归看一个典型的问题斐波那契数列:很明显这是符合递归定义的。例如树的定义,也是递归。递归的分类递归虽然都叫递归,但是区别却很大。向外递归这是一种比较简单的递归,例如上方的斐波那契数列就是向外递归,这是因为我们的递归起点实际上是最里面一层(要先计算f(1)原创 2022-03-19 16:32:40 · 400 阅读 · 0 评论 -
【leetcode基础题】刷题清单,刷完算法入门
前言说明(刷题必看)为了在面试中出彩,请在刷题的时候尽量完成最优解,例如leetcode当中的进阶要求。这样面试才能加分。1.字符串(数组)两数之和(最优解)leetcode - 1合并两个有序数组(最优解)leetcode - 88移动零leetcode - 283消失的数字(最优解)leetcode - 448判断有效括号leetcode - 20字符串解码leetcode - 394字符串相加leetcode - 4152.链表反转链表leetcode - 206原创 2022-03-15 22:15:33 · 1153 阅读 · 0 评论 -
【leetcode】《程序员面试金典》刷题总结(更新至2.28)
下面是链表相关一般传入的是链表的头node而不是一个链表,然而知道了head其实也就是知道了链表记住一些常用的链表操作:删除,插入,遍历(while),注意下面第一个是参数仅传入node面试的时候经常碰见诸如获取倒数第k个元素(双指针间隔),获取中间位置的元素(快慢指针),判断链表是否存在环(快慢指针相追,相差一),判断环的长度(快慢指针)等和长度与位置有关的问题。这些问题都可以通过灵活运用双指针来解决。如果存在环,如何判断环的长度呢?方法是,快慢指针相遇后继续移动,直到第二次..原创 2022-02-27 16:35:01 · 401 阅读 · 0 评论 -
【leetcode】刷题路线
程序员面试金典(第 6 版)https://leetcode-cn.com/problem-list/xb9lfcwi/剑指 Offer(第 2 版)https://leetcode-cn.com/problem-list/xb9nqhhg/原创 2022-02-23 22:27:59 · 183 阅读 · 0 评论 -
【leetcode-1】判断字符串的字符是否唯一
本问题涉及位运算解题思路由于题中说不使用数据结构可以加分,考虑位运算使用一个数例如int,32位,其中26位就可以满足a到z的字符串了我们用1表示a,第26位为1表示z,这样用二进制来表示存贮是否出现过某个字母扫描第一个字母,这个字母的ascii数值(也是hash值)减去a的hash值就是我们要向左移动的位数。用一个数tmp记录当前的字母的位置数值例如c是100也就是4,将这个tmp与mark=0(目前没有字幕出现过)相与,显然结果都是0,将mark的值置为c出现过,也就是100。接着重复原创 2022-02-23 21:15:45 · 361 阅读 · 0 评论