随笔分类 - 算法
1
记录算法之旅上的思想火花
摘要:面向做题的虚基类多继承构造函数执行顺序探讨。
阅读全文
摘要:把一篇看了很久都看不懂的题解看懂了然后记录下分析思路。
阅读全文
摘要:本篇文章主要记录思路和一些自己的想法,没有具体代码,想看代码的可以叉掉了。 先看一条题目: (我将没用的信息过滤后,题目简化为:)求长度为n的只包含'('和')'的,且匹配括号数最多的,字符串的个数。 分析: 如果有一定的算法经验的话,可以联想到:括号对数为N的括号匹配的字符串个数有C(N)个,其中
阅读全文
摘要:《数据结构》树和二叉树部分的代码整理。纯C语言,编译器:Visual Studio 2019 环境:windows10 64位
阅读全文
摘要:引言: 为了一个广度优先搜索的细节有必要水一整篇文章?有必要。 这个细节非常重要,以至于我在切Leetcode某一题的时候,明明和答案的高效率通过的代码相差无几,逻辑毫无错误,STL使用相同,但仍然有几个测试点卡不过去。 题目来源:200.岛屿数量 我原来的代码: 1 class Solution
阅读全文
摘要:前言: 一般我在刷leetcode题的时候既不喜欢在Playground也不喜欢在本地编译器里面打代码,而是直接在题目后的窗口里写代码。 于是对于我这种氪不起金的玩家来说,经常就会出现奇怪的bug,找了半天也找不到。 这里就对以前遇到过的问题进行总结。 案例1: 我找了老半天问题在哪里。发现不管在f
阅读全文
摘要:事实证明stl的lower_bound和upper_bound虽然很好用,但是没事练练写二分还是很重要的。。。
阅读全文
摘要:坐标力扣: 曾经做这题时,卡了我很长时间。现在故地重游,仍然重蹈覆辙。 所以我很有必要记录下这条题目。 要达到如题的时间复杂度,不难想到,所用的方法一定和二分法有关系。 甚至多想想也能想出大概的方法:分别设两个指针cut1,cut2,将第一个数组切割成 left1和right1,将第二个数组切割成l
阅读全文
摘要:坐标洛谷的一条题目: 当时第一个思路就是:先让一个人走,取完最大和路径上的数,再让第二个人取完剩下地图中的最大和路径上的数。 可是题解并不是这么做的,而是用了四维数组dp[i][j][k][l]分别表示两个人分别走到(i,j)和(k,l)点时两人路径之和的最大值。 代码如下: #include<io
阅读全文
摘要:还是前不久写的《四树之和》那题:Sort函数居然能改变元素值?记一次有趣的bug——四树之和
唉···dfs一直超时没过的去。于是我做了点剪枝优化后,卷土重来
阅读全文
摘要:使用sort过程中遇到的弯与坑,探究与思考,学习与记录。
阅读全文
摘要:题目啊常规解法(DFS)在此就不赘述了。。。 直接进入正题。 众所周知,N皇后是NP完全类问题,n稍微大了点求解过程就会变得很长。 算法方面很难再有质的效率突破,但这不妨在其他细节上下下功夫。 揆诸常规解法,采用了数组来做mark,以行为每一层进行回溯算法,每个操作周期中无非就做了下面这些事情: 更
阅读全文
摘要:非常经典的一道题: N皇后问题: 国际象棋中皇后的势力范围覆盖其所在的行、列以及两条对角线,现在考察如下问题:如何在n x n的棋盘上放置n个皇后,使得她们彼此互不攻击 。 免去麻烦我们这里假定n不是很大。。。 (图片来自百度百科(这是8皇后问题的一种解法)) 某leetcode大犇曾说过:“这个问
阅读全文
摘要:题目描述:给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 (题目及图片复制于Leetcode) 思考:这图一看脑子大概就有了个解决过程。从杨辉三角的生成规律可以知道,第n+1行的结果是从第n行产生的,所以很容易就能想到动态规划的解法。 动态方程:dp[i][j] = dp[
阅读全文
1

浙公网安备 33010602011771号