- 博客(239)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 【C++11】nullptr
目的避免C语言中NULL和0的歧义,即NULL到底是被识别为空指针还是int型的0可以转化为任意其他的指针类型表示方式int* ptr1 = nullptr;char* ptr2 = nullptr;double* ptr3 = nullptr;void* ptr4 = nullptr;func(nullptr);细节nullptr和NULL的区别a. NULL在C语言中是void*;在C++中表示空指针,实际就是0b. NULL在C++中存在歧义(空指针or 0)c. n
2021-04-20 19:11:59
412
原创 【C++11】原始字面量
目的解决字符串中转义字符,特殊字符需要繁杂的方式才能输出的问题省去字符串换行连接符表示方式string str = R"xxx(原始字符串)xxx"细节原始字符串两侧可以添加其他字符串,但需要注意:两侧字符串必须一致所添加的字符串会被忽略举例//原始字面量R"()"#include<bits/stdc++.h>using namespace std;int main(){ string str= "F:\hello\world\test.txt";
2021-04-20 17:38:37
185
原创 Hive参数调优-处理数据倾斜问题实验对比
实验环境内存:16GBCPU:i5 4590Centos:6.8Hive:2.3.6实验数据数据量:100010key1:100000key2:10两个key相差5个数量级语句测试语句: select count(*) from test_skew group by key;测试的参数:set hive.map.aggr=false; 是否在map端进行joinset hive.groupby.skewindata=false;是否增加map来进行负载均衡实验结论有兴趣的
2021-04-19 23:17:07
957
原创 Centos6.8虚拟机关机后网卡变更解决方案
环境虚拟机:VM16Linux版本:Centos6.8问题:关机后再次开机出现网卡变更的情况网卡问题出现Error:No suitable device found: no device found for connection ‘eth0’使用ifconfig查看网络ip发现ip变更,起初怀疑是动态ip的原因,但重启网络服务后发生如下图的错误,知晓是网卡出现了问题,解决网卡问题访问图片中的地址,找到网卡文件,发现多出一个新网卡eth1此时需要删去旧网卡,并将新网卡的eth1改为eth
2021-04-19 22:43:47
288
原创 Hive基于MR/Tez/本地模式的对比
实验环境内存:16GBCPU:i5 4590Centos:6.8Hive:2.3.6实验数据数据量:1138526字段:3个实验目的对比Hive on MR 与 Hive on Tez 以及Hive本地模式在不同语句下的执行效率对比实验结论省去看实验过程的麻烦本地模式肉眼可见,效果极佳,但是对硬件和内存有一定要求,无法处理大数据量Tez优势是将具有依赖的多个作业转换成一个作业,从而减少与HDFS的交互,达到提升效率的目的。count和排序优化效果不好的原因是什么——尚未找到合
2021-04-15 14:59:29
1325
原创 基于WireShark抓包理解TCP三次握手和四次挥手
实验环境WireShark Version 3.4.4本机ip:10.6.297.4目的ip:www.huawei.com => 58.220.69.111网络环境为WLAN三次握手第一次握手:Client向Server发送第二次握手:Server向Client发送第三次握手:Client向Server发送四次挥手Source Port: 443Destination Port: 18299ACKSequence Number (raw): 105160078—
2021-04-11 17:16:26
324
原创 【LeetCode】【再探回溯法】全排列,求子集,组合总和,划分子集思路解析和代码
组合总和39.组合总和140.组合总和2个人思路题意概括:在一个数组中,找出数组中的一个子集,也就是一个组合,使得子集之和为target,并输出所有的结果39:强调数组元素是无重复的,每个数字也可以重复使用,组合之间不能相同40:强调数组元素可能有重复,每个数字只能使用一次,组合内的数字可以相同,但是组合与组合之间不能相同思路排列组合组合问题,还要求输出所有结果,这是典型回溯法需要好好想想以下三种情况元素可重复使用:dfs中,for循环中的递归语句,传入的是i而不是i + 1,表示当
2021-03-31 19:18:42
586
原创 基于大数据平台数据分析技术选型调研
技术选型调研大方向任务分布式平台选出几个可行的方案分析优缺点任务细分:数据源存储的问题支持分布式的深度学习组件业内端到端的解决方案有哪些——可借鉴的架构方案方案路线hdfs -> mapreduce -> hive(on spark/Tez) -> 提取小批量数据 -> 预建模预分析:sklearn/Tensorflowhdfs -> yarn -> spark -> spark mllib/TensorFlowonSpar
2021-03-09 15:07:28
713
原创 【LeetCode】【回溯法】剑指 Offer 13. 机器人的运动范围 思路解析和代码(dfs:何时需要标记,何时需要撤销)
剑指 Offer 13. 机器人的运动范围题目链接个人思路思路已经是二刷了,思路很清楚,也知道采用dfs,也知道如何进行深度优先搜索,但是对于dfs中何时需要标记数据,何时需要撤销操作还是有点雾水对于此题来说,机器人只有向下和向右两种路径,因此在dfs过程中不需要撤销操作,即不用对vis[tx][ty]进行标记for(int i = 0; i < 4; ++i){ int tx = x + dir[i][0]; int ty = y + dir[i][1]; if(tx >=
2021-03-04 22:59:56
371
2
原创 Centos6.8 yum报错及修复YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. Invalid
本来是要安装python的,结果发现yum报错YumRepo Error: All mirror URLs are not using ftp, http[s] or file.Eg. Invalid release/repo/arch combination/removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt0.查看yum配置vim /etc/yum.repos.d/Cen
2021-02-02 11:15:51
8349
26
原创 【LeetCode】【动态规划】剑指 Offer 60. n个骰子的点数 思路解析和代码
剑指 Offer 60. n个骰子的点数题目链接个人思路题意要理解n个骰子是同时掷出,即最小值的点数是n,最大的点数是6 * n,共有6n种可能尤其注意最小值是n而不是1,不是将骰子一个接一个掷出去的思路重叠子问题:n个骰子,分为当前一个骰子(1 ~ 6)与其余n-1骰子的点数之和相加;n-1个骰子,可以分为当前一个骰子(1~6)与其余n-2个骰子的点数之和相加dp[i][j]表示:投掷i个骰子,得到点数j的次数是dp[i][j]边界:第一颗骰子只有0~6,dp[1][i] = 1 i的
2021-01-17 12:38:20
131
原创 【LeetCode】【数学】剑指 Offer 49. 丑数 思路解析和代码
剑指 Offer 49. 丑数题目链接个人思路题意准确理解:丑数是只能被2,3,5整除的数字,因此对一个数字是否是丑数,应让这个数字连续被2整除,连续被3整除,连续被5整除,若最后整除后剩下的数字是1,则说明是丑数,否则不是丑数思路错误思路最初理解成为数字能被2或3或5整除,发现理解有误而后又理解为不能被大于5的素数整除,所以使用素数打表,但无法存放大规模的素数优化思路——空间换时间所有的丑数都是之前的丑数的基础上乘2,乘3,乘5得到,因此将丑数保存在数组中,通过对已有丑数运算来得到
2021-01-16 11:07:44
153
原创 【LeetCode】剑指 Offer 33. 二叉搜索树的后序遍历序列 思路解析和代码
剑指 Offer 33. 二叉搜索树的后序遍历序列题目链接个人思路思路根据后序遍历的特点,根节点位于最后一位;根据二叉搜索树的特点,左子树小于根节点,右子树大于根节点;结合这两个性质,我们可以遍历后序序列,划分左右子树并与根节点进行比较,来判断是否能满足二叉搜索树后序遍历的条件,对左右子树进行递归判断遍历序列,将比root小的元素放入左子树序列中,当出现第一个比root大的结点break,此处为左右子树的分割位置构造右子树时,如果出现比root小的元素,说明该序列不满足二叉搜索树的条件,re
2021-01-13 10:06:20
136
原创 DID分布式身份标识技术调研
10.25DID调研分布式身份标识(Decentralized Identifiers, DID)1.背景网络匿名⇒账号ID登录⇒授权一键登录⇒分布式数字身份实现一个用户能自主创建、完全去中心化的身份管理。而区块链的出现,恰恰解决了 DID 去中心化的问题。中心化身份 => 联盟身份 => 中心化身份(DID)一开始的数字认证始是中心化的,比如ICANN管理的域名与IP地址分配,以及PKI(Public Key Infrastructure)系统中的CA(Certificate Au
2021-01-05 16:10:12
4539
原创 【LeetCode】【递归】剑指 Offer 16. 数值的整数次方 思路解析和代码
剑指 Offer 16. 数值的整数次方题目链接个人思路思路采用快速幂的方法,但中间有很多细节没有注意到负指数问题——需要求倒数(注意0没有倒数)负底数问题——需要判断指数的奇偶性大数指数问题——需要对指数取模(本题没有要求用long long,因此,超过一定范围的指数就不需要再计算了)代码优化&运算来判断奇偶性,注意&和“==”的优先级,应写为(n&1) == 1“>>” 右移做除2运算个人错误思路代码快速幂代码错了!!!!class
2021-01-05 15:05:27
119
原创 【LeetCode】【链表】剑指 Offer 35. 复杂链表的复制 思路解析和代码
剑指 Offer 35. 复杂链表的复制题目链接个人思路题意本题考查的是链表的深拷贝和浅拷贝ListNode* cur = head //是浅拷贝,cur与head共用一个地址ListNode* cur = new ListNode()//是深拷贝,二者地址不同此题的原链表和复制链表中,各自的指针(next和random)指向各自链表内数据的地址思路先复制next指针,构建出复制链在根据原链中的random,在复制链中构造random难点在于如何完成深拷贝,如何根据原链的rando
2020-12-16 20:51:17
124
原创 【LeetCode】【链表】剑指 Offer 24. 反转链表 思路解析和代码
剑指 Offer 24. 反转链表题目链接个人思路思路个人思路栈先遍历一遍数组,将所有元素存入栈中从栈中取出元素,构建链表注意:栈中最后一个元素的next要指向null,否则会构成一个环,因为原本最后一个元素的next是指向倒数第二个元素的(在栈中的位置)双指针思路(个人错误思路与正确思路对比)整体思路都是用pre指针标记前面的链表,要让当前元素的next指向前面的链表,并且还不丢失下一个元素错误思路错误代码含义正确思路正确代码含义temp = cur为了
2020-12-15 18:49:19
125
原创 【LeetCode】【链表】剑指 Offer 52. 两个链表的第一个公共节点 思路解析和代码
剑指 Offer 52. 两个链表的第一个公共节点题目链接个人思路思路暴力O(mn)双重循环求解,对比两个链中的每一个节点栈-空间换时间O(m+n),空间(m+n)由于第一个公共节点后面的所有节点均相等,因此可以从后往前遍历,直到找到最后一个相同的结点即为第一个公共节点,但由于单向链表无法逆序遍历,因此可以考虑使用栈辅助完成双指针O(m+n)先遍历两个链表,得到两个链表的长度求出长度之差temp在较长的链表中,先遍历temp个结点,然后两个链表一同遍历,此时碰到的第一个相同的结点即为
2020-12-14 12:20:33
442
原创 【LeetCode】【树】剑指 Offer 27. 二叉树的镜像 思路解析和代码
剑指 Offer 27. 二叉树的镜像题目链接个人思路题意镜像:根结点的左右子节点交换位置,即为镜像个人错误思路根据给出的用例,一开始理解成了是对二叉树逆层序遍历,即先右子节点再左子节点,这个思路只是对满二叉树适用正确思路对根节点的左右子节点交换,递归遍历左右子节点做相同的操作个人错误思路代码/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *lef
2020-12-11 11:18:25
110
原创 【LeetCode】【栈】剑指 Offer 59 - II. 队列的最大值 思路解析和代码
数组中的逆序对题目链接个人思路思路队列queue+双端队列dequequeue作为原队列存储数据,deque作为辅助队列存储最大值入队:queue正常入队;deque只存储最有可能成为最大值的元素,并将最大值放在队首,若当前元素比队尾元素大,则队尾元素出队(需要双端队列的pop_back),当前元素入队出队:queue正常出队;若出队元素刚好是deque的队首元素(即最大值),则一同出队,否则只有queue单独出队个人思路代码class MaxQueue {public: q
2020-12-04 14:30:58
102
原创 【LeetCode】【栈】剑指 Offer 30. 包含min函数的栈 思路解析和代码
剑指 Offer 30. 包含min函数的栈题目链接个人思路题意根据题目要求,既要能在O(1)内拿到最小元素,需要用一个数据结构辅助存储最小元素集合,包括次小元素又要能在O(1)内拿到栈顶元素,需要用栈存储思路栈+双端队列栈正常存储,进行出栈,入栈,访问栈顶元素双端队列,每次用队首元素和入队元素进行比较,将最小元素存储在队首;当栈顶元素出栈时,栈顶元素的位置一定是在队列的队首或队尾,在队列中找到栈顶元素出队即可栈+辅助栈栈正常存储,进行出栈,入栈,访问栈顶元素辅助栈,每
2020-12-03 10:00:45
250
原创 【LeetCode】【栈】剑指 Offer 09. 用两个栈实现队列 思路解析和代码
剑指 Offer 09. 用两个栈实现队列题目链接个人思路题意深入队列底层实现,用两个栈实现队列的插入和删除操作思路个人思路插入时:先把元素push进栈1,再将栈1中的所有元素挪到栈2中,此时栈2中的top即为队首元素(此处理解错题意了,插入时,题目并不要求显示出队列中元素的正确顺序,其实题目只要求删除时能先删掉最先入队的元素即可,并有返回值)删除时:先将栈1中的元素都挪到栈2中,再删去栈顶元素(最先入队的元素),再将剩余元素挪回栈1void appendTail(int value)
2020-12-01 14:14:52
117
原创 【LeetCode】【哈希表,动态规划,队列】剑指 Offer 48. 最长不含重复字符的子字符串 思路解析和代码
剑指 Offer 48. 最长不含重复字符的子字符串题目链接个人思路题意思路注意个人思路代码暴力+mapclass Solution {public: unordered_map<char, int> mp; int ans, temp; int lengthOfLongestSubstring(string s) { for(int i = 0; i < s.size(); ++i){ mp[s[i]
2020-11-27 14:57:35
181
原创 【LeetCode】【队列】剑指 Offer 59 - I. 滑动窗口的最大值 思路解析和代码
剑指 Offer 59 - I. 滑动窗口的最大值题目链接个人思路题意思路滑动窗口的原理符合队列先进先出的性质,因此要考虑使用队列关键要考虑一个问题如果pop出当前最大值,要如何再次寻找滑动窗口中的最大值暴力模拟deque模拟滑动窗口模拟第一次滑动窗口,使用temp表示当前最大值如果出队元素是当前最大值,则重新遍历一遍滑动窗口,重新选出当前最大值(由于deque可以用下标访问,因此选用deque)双端队列deque存放元素的索引,且队首元素为滑动窗口中的最大值如果当前元素有
2020-11-25 21:55:41
122
原创 【LeetCode】【树】剑指 Offer 68 - I,II. 二叉树的最近公共祖先 思路解析和代码
剑指 Offer 68 - I,II题目链接个人思路思路该题要求解最近公共祖先,关键是需要知道给出的两个结点p,q是在左子树还是在右子树,即关键是要知道p,q的准确位置,而不是结点出现的顺序理一下最初的错误思路,最初是想着如何划分左右子树来找p,q的位置只想到了当一个位于左子树一个位于右子树,则他们的公共祖先是根节点;但两节点存在父子关系,这样的情况还不知道如何处理;还想到了遍历树,因为祖先是存在先后关系的,通过遍历的方法找到最近公共祖先,遍历只能找出祖先出现的顺序,而不能准确得知结点的位
2020-11-24 21:33:52
111
原创 【LeetCode】【广度优先搜索】剑指 Offer 32 - II. 从上到下打印二叉树 II 思路解析和代码
剑指 Offer 32 - II. 从上到下打印二叉树 II题目链接个人思路题意树的层序遍历,leetcode使用二维vector,存储的时候略有不同思路个人思路打包存储节点及其层数优点是便于节点和层数的对应输出缺点是不便于代码实现二维vector是通过申请行空间实现的,较为繁琐简便思路获取当前层的所有节点,一次性push进一维vector层序遍历时,每次插入下一层的所有节点每层操作结束时,将一维vector存入二维vector中注意vector必须事先申请一
2020-11-16 11:40:25
109
原创 【LeetCode】【回溯法】剑指 Offer 12. 矩阵中的路径 思路解析和代码
剑指 Offer 12. 矩阵中的路径题目链接个人思路思路类似迷宫问题,增加了字符比对递归参数:二维矩阵,字符串,当前坐标x,y(二维矩阵中),当前字符串位置index递归出口:比对到最后一位,x,y越界,字符串不匹配,当前坐标已经被访问过递归体:上下左右移动,递归遍历注意由于可以从矩阵中的任意一格开始,因此要对整个矩阵遍历做dfs剪枝位置:要么在递归体for循环中,即回溯之前进行,即下次回溯即为满足题目条件的回溯;要么在递归出口位置剪枝,即每次递归时便对参数是否满足题目条件进行判
2020-11-15 10:54:09
114
原创 【LeetCode】【回溯法】剑指 Offer 34. 二叉树中和为某一值的路径 思路解析和代码
剑指 Offer 34. 二叉树中和为某一值的路径题目链接个人思路题意思路此题的子集属于排列树递归参数:当前的根节点root,目标sum,当前累加数字cur递归出口:当根节点为空时,直接return递归体:将root中的数据加入temp,进行累加,判断是否满足sum,递归访问左右子树(撤销选择的细节问题见下方)剪枝判断:如果cur == sum 且当前节点为叶子节点,则进行存储输出(return的细节问题见下方)注意为什么要撤销选择? 如果我们遍历到一条路径的叶节点了,
2020-11-13 12:05:11
134
原创 【LeetCode】【回溯法】剑指 Offer 38. 字符串的排列 思路解析和代码
剑指 Offer 38. 字符串的排列题目链接个人思路题意全排列问题,子集属于是排列树回溯思路①画出递归树,找到状态变量(回溯函数的参数),这一步非常重要※②根据题意,确立结束条件③找准选择列表(与函数参数相关),与第一步紧密关联※④判断是否需要剪枝⑤作出选择,递归调用,进入下一层⑥撤销选择核心是for循环中的递归,在递归调用之前“做选择”,在递归调用之后“撤销选择”。作者:show-me-the-code-2链接:https://leetcode-cn.com/problem
2020-11-13 09:41:42
147
1
原创 【动态规划】数字游戏 思路解析和代码
数字游戏题目链接个人思路思路这属于环形dp问题,而且数字划分并不是均等划分,可以在环形数组上任意位置进行截断,因此根据截断位置和截断次数,可以声明一个三维dp数组dp[i][j][k]表示:在(i,j)范围内分成k段的最大(最小)值因为要求两个值,因此要声明两个dp数组,maxdp,mindp思考:如何将环形数组转换为链式结构——采用对数组延长一倍进行存储,即原数据为:4,3,-1,2 =>延长一倍存放:4,3,-1,2,4,3,-1,2自顶向下分析:求最优解:求环形数组截成m
2020-11-12 13:54:29
292
原创 【动态规划】传球游戏 思路解析和代码
传球游戏题目链接个人思路思路题目有些抽象,代码不难,本题是要求出n个同学,经过m次传球,传回自己手里的方案数,我们要考虑从哪里可以传到自己手中,即方案数与自己的上家和下家有关,又因为大家是围成一个圆形的,第一个人和第n个人是上下家的关系,做题时要特别注意dp[i][j]表示:第i个人经过第j次传球的方案数为dp[i][j]自顶向下分析:求最优解:统计方案数问题,与台阶问题类似最优子结构:传到自己手中的方案数与自己的上家的方案数和下家的方案数有关,而且是加和的关系重叠子问题:要求出传到自己
2020-11-11 11:23:27
551
原创 【LeetCode】【回溯法】剑指 Offer 55 - II. 平衡二叉树思路解析和代码
剑指 Offer 55 - II. 平衡二叉树题目链接个人思路思路几个思考的问题:如何判断平衡二叉树?如何记录深度?如何记录每个节点的深度?深度:在算法编程中定义为从当前节点到叶子节点的最大路径长度如果一棵树只有一个结点,其深度为1如果根节点只有左子树没有右子树,深度为左子树深度如果根节点只有右子树没有左子树,深度为右子树深度如果根节点既有左子树又有右子树,深度为二者最大值+1int getDepth(TreeNode* root){ if(root ==
2020-11-11 10:22:34
117
原创 【LeetCode】【排序】剑指 Offer 45. 把数组排成最小的数 思路解析和代码
剑指 Offer 45. 把数组排成最小的数题目链接个人思路题意输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。思路最初思路将数值型数组转化为字符串数组,通过十进制取模获得每一位数值进行转化按字符升序排列,以满足数字小的在高位,数字大的在高位,但对于(3,30)无法处理到位正确思路在定义比较函数时,对两个字符串进行前后拼接,按拼接结果升序排列即可核心代码static bool cmp(string s1, string s2){
2020-11-07 12:02:08
113
原创 【LeetCode】【二分查找】剑指 Offer 11. 旋转数组的最小数字 思路解析和代码
剑指 Offer 11. 旋转数组的最小数字题目链接个人思路题意题目中的数组被分割成两部分,且两部分均为递增序列,找出序列中的最小元素,要利用递增数组的特性,要采用二分查找思路循环条件:根据旋转数组的特点,序列应满足第一个元素大于最后一个元素(特例1,2,3,4,5)二分查找(此处的mid,left,right表示数值):如果mid大于等于left,说明mid属于前一个递增数组,最小元素应该在mid 的后面;如果mid小于等于right,说明mid属于后一个递增数组,最小元素应该在mid前面
2020-11-06 10:29:20
103
原创 【LeetCode】【二分查找】剑指 Offer 53 - I. 在排序数组中查找数字 I 思路解析和代码
剑指 Offer 53 - I. 在排序数组中查找数字 I题目链接个人思路题目条件:数组已排好序,因此下意识就要想到二分查找思路一使用lower_bound(),找到第一个大于等于target的元素若元素不等于target,说明target在数组中不存在,返回0若元素等于target,则向后顺序遍历与target相等的元素,统计target的个数思路一注意向后顺序遍历的过程中,注意数组访问不要越界注意当数组长度为0的特例思路二使用两次二分查找,分别找出第一个target元素
2020-11-05 11:35:25
106
原创 【KMP+随机算法(Monta Carlo+Las Vegas)】字符串匹配 思路解析和代码
字符串匹配对于字符串X和模式串Y(由0-1组成),使用两类随机算法,蒙特卡洛和拉斯维加斯算法求解两串是否匹配,随后再使用KMP检验两串是否匹配进行验证,统计三种算法的运行时间和蒙特卡洛算法的错误率,分别对字符串X长度为50,500,5000,50000进行检验,模式串Y不能太短个人思路思路KMP算法next[j]表示模式串的子串0 ~ j与 子串 j+1 ~ 模式串.size() 的最长相等前后缀 的前缀的最后一位使用根据模式串,计算各位其对应的next[]数组执行KMP算法,遍历字符串X,
2020-11-04 20:31:04
3066
1
原创 【贪心法】奇数数组 思路解析和代码
奇数数组输入正整数n和长度为n(???? ≤ 105)的数列????????(1 ≤ a???? ≤ 109)。在一次操作中你可以选择一个偶数c,并且把所有等于c的数除以2。例如a = [6,8,12,6,3,12],选择c = 6进行一次操作后a = [3,8,12,3,3,12]。请问最少进行多少次操作后, ???????? 的所有数都变成奇数。请尝试设计算法进行计算。样例输入640 6 40 3 20 1样例输出4个人思路思路本题应该采用贪心策略,每次选择数组中最大的偶数作为操作数,
2020-10-31 21:22:54
755
原创 【动态规划】【传纸条问题】求矩阵路径最大值(两条路径不能重复) 思路解析和代码
【传纸条问题】求矩阵路径最大值(两条路径不能重复)题目链接个人思路题意可将问题简化为从矩阵的左上角走到右下角并返回左上角,且要求两条路径不能重复,求来回路径的权值最大思路错误思路:先从左上角到右下角,沿途做标记,再从右下角返回左上角(不走标记位置),这个思路错误的原因是:这样表示的是其中后者到达了现在的位置,而前者早已经到达了这里。这么做看似没有问题,但却忽略了题目上一个很重要的条件:两个路径不能重复。例如,对于dp[2][2][3][3],它有可能是从dp[1][1][3][3]走来的,而dp
2020-10-30 12:21:02
1358
2
原创 【POJ1088】【动态规划】滑雪问题 思路解析和代码
滑雪问题题目链接POJ不能解析#include<bits/stdc++.h>个人思路题意input:3 34 5 63 10 72 9 8output:9此题的最长的滑坡指的是滑坡的个数,每个格子代表一个滑坡,即从10开始出发,最长可以经过9个格子错误思路1:一开始以为的是滑坡长度(数值)之和最大,此时输出为54错误思路2:后来以为的是滑坡的出发点,此时输出为10思路整个思路可以类比最长下降子序列,与最长下降子序列相比,这个是二维的,且边界值并非dp[0][0]或d
2020-10-29 21:41:54
976
原创 【动态规划-备忘录法】最长公共子序列(输出所有解) 思路解析和代码
最长公共子序列上一篇动态规划总结个人思路对比备忘录方法(递归)和动态规划(递推)备忘录方法备忘录方法要用递归实现递归是自顶向下的解决问题的:即从目标开始,将问题划分,对子问题求解,直到边界递归前对备忘录进行查询,当前备忘录未被填写时,则进行递归,否则直接返回备忘录的内容(核心,提高算法效率)当整个问题的求解过程中有大量子问题无需求解时,备忘录更省时一般要对备忘录进行初始化,为了之后快速判断是否有已经填写过备忘录动态规划递推式通过循环实现递推式是自下而上解决问题的:即从边界开始,
2020-10-28 20:35:35
3474
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅