美文网首页
05-28:新刷算法题

05-28:新刷算法题

作者: 是黄小胖呀 | 来源:发表于2021-05-27 22:05 被阅读0次

1、归并排序

数组逆序对的参考思路:

https://zhuanlan.zhihu.com/p/107280674

实际代码:

2、二分查找

二分查找,平方根和矩阵查找

https://www.nowcoder.com/practice/5145394607ea4c5f8b25755718bfddba?tpId=191&&tqId=38000&rp=1&ru=/activity/oj&qru=/ta/job-code-high-algorithm/question-ranking

3、最长无重复子串长度

核心思想:滑动窗口

https://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4?tpId=191&&tqId=36146&rp=1&ru=/activity/oj&qru=/ta/job-code-high-algorithm/question-ranking

4、双指针

双指针是一种在求和时很有效的一种算法

例如求和为0的三元组

https://www.nowcoder.com/practice/345e2ed5f81d4017bbb8cc6055b0b711?tpId=191&&tqId=36130&rp=1&ru=/activity/oj&qru=/ta/job-code-high-algorithm/question-ranking

核心问题:

在求和为零以后记得下标移动,否则循环无法结束

代码如下:

5、哈希表

费内存,但查得快

两数之和,先把值和索引存储在哈希表中

https://www.nowcoder.com/practice/20ef0972485e41019e39543e8e895b7f?tpId=191&&tqId=36133&rp=1&ru=/activity/oj&qru=/ta/job-code-high-algorithm/question-ranking

6、动态规划

动态规划的核心是要写出状态转换的方程和初始条件:

1、比如矩阵的最小路径和

1)状态转移方程

从上一行同一列或同一行的左边一个过来,再和当前值取和作为此时的最小值(最优状态)

2)初始条件

初始第一行/第一列的路径只有一种,可以直接写出

https://www.nowcoder.com/practice/7d21b6be4c6b429bb92d219341c4f8bb?tpId=191&&tqId=36293&rp=1&ru=/activity/oj&qru=/ta/job-code-high-algorithm/question-ranking

核心代码如下:

2、比如:子数组最大乘积

https://www.nowcoder.com/practice/9c158345c867466293fc413cff570356?tpId=191&&tqId=37487&rp=1&ru=/activity/oj&qru=/ta/job-code-high-algorithm/question-ranking

最关键是写出状态转移方程:

乘积存在负负得正的情况,也就是当此时元素是正负时求最大/最小值存在区别

大于0时,

和更大数的乘积为更大值,和更小数的乘积为更小值

小于0时,

和更大数的乘积为更小值,和更小数的乘积为更大值

7 、贪心

最次都要最优。

例如:买卖股票的最好时机,找到全局最小值,当前值-全局最小值的差值的全局最大值即为所求。

https://www.nowcoder.com/practice/64b4262d4e6d4f6181cd45446a5821ec?tpId=191&&tqId=36657&rp=1&ru=/activity/oj&qru=/ta/job-code-high-algorithm/question-ranking

8、并查集

???

例如:数组中的最长连续子序列

https://www.nowcoder.com/practice/eac1c953170243338f941959146ac4bf?tpId=191&&tqId=36126&rp=1&ru=/activity/oj&qru=/ta/job-code-high-algorithm/question-ranking

关键问题是:找到无相邻更小值的元素,然后找出其最长连续子序列,同时保存全局最大值。

核心代码如下:

相关文章

  • 05-28:新刷算法题

    1、归并排序 数组逆序对的参考思路: https://zhuanlan.zhihu.com/p/107280674...

  • 2020-02-01关于刷题的几个建议

    算法刷题 针对性刷题,刻意练习。刻意刷题!不是麻木刷题!刷题前一定要先看书,清楚明白为什么要刷这些题,这些题刷完能...

  • 刷算法题

    入门级难度的几道题目简单乘法->斐波那契数列->链表->整数排序->二叉树一点一点过度, 让思维进入到刷题状态. ...

  • 算法-刷题

    Day1:爬楼梯[https://leetcode-cn.com/problems/climbing-stairs...

  • 刷题算法

    2/n叉树遍历迭代方法 关键词+思路,背是背不住的(没掌握核心思路是复写不出来的!!!): 2/n叉树前序:栈、反...

  • 字节总监首发1121道LeetCode算法刷题笔记(含答案)

    关于算法刷题的困惑和疑问也经常听朋友们提及。这份笔记里面共包含作者刷LeetCode算法题后整理的数百道题,每道题...

  • 字节总监首发1121道LeetCode算法刷题笔记(含答案)

    关于算法刷题的困惑和疑问也经常听朋友们提及。这份笔记里面共包含作者刷LeetCode算法题后整理的数百道题,每道题...

  • 看完谷歌大佬的Leetcode刷题笔记,我直接手撕了200道Le

    关于算法刷题的困惑和疑问也经常听朋友们提及。这份笔记里面共包含作者刷LeetCode算法题后整理的数百道题,每道题...

  • 面试题高频算法题整理

    以下算法题几乎都是简单题,都为面试算法题值得刷的题,需要理解并记住解题思路,而其中★标注的题,更是面试算法题中的高...

  • 算法刷题常用

    字符串 字符串长度 strlen计算长度时不计\0.sizeof()计算'\0' 由于字符串以'\0'结尾,定义一...

网友评论

      本文标题:05-28:新刷算法题

      本文链接:https://www.haomeiwen.com/subject/ggjesltx.html