2 NULL001100

尚未进行身份认证

我要认证

量变引起质变

等级
TA的排名 24w+

关于n+1,n++,++n

我是在做dfs的题遇到了这个问题,正确应该是dfs(n+1),然后我写成了dfs(n++),所以就错了。从上面也能看出来,n+1的值直接就改变了,但是n++的值却要在下次用的时候才会体现出来值得变化。

2020-09-28 17:40:37

母牛的故事 规律分析和时间超时的解决

#include<bits/stdc++.h>using namespace std;int n;int F[60];int f(int n){ if(n<4) return n; else F[n]=f(n-1)+f(n-3);//?F[n]=f(n-1)+f(n-3) not F[n-1]+F[n-3] 没有递推的意思 return F[n];}int main(){ while(scanf("%d",&n)&&n)

2020-09-24 18:19:37

【蓝桥杯】出栈次序(递归、公式两种解法)

【蓝桥杯】出栈次序(递归、公式两种解法)。很好理解的递归。

2020-09-12 21:07:32

用筛法求之N内的素数(求n内的质数以及判断n是否为质数)

#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; for(int i=2;i<n+1;i++){ int flag=1; for(int j=2;j<i;j++) if(i%j==0)flag=0; if(flag)cout<<i<<endl; }

2020-09-10 08:50:01

目标检测详细综述及常见分类

目标检测综述目标检测分类分为2类分为3类传统的目标检测算法候选区域/框 + 深度学习分类基于深度学习的回归方法分为4类目标检测object detection,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。所以,object detection要解决的问题就是物体在哪里以及是什么的整个流程问题。分类分为2类深度方法主要分为one-stage(e.g. SSD, YOLO)和two-stage(e.g. RCNN系列)两种. 相对来说one-stage速度快, 精度低. 而two-st

2020-09-01 11:13:48

【LeetCode】96. 不同的二叉搜索树 DP

不同的二叉搜索树题目描述解题思路代码题目描述题目链接:96. 不同的二叉搜索树解题思路动态规划。看的官方题解。如果是直接想动态转移方程的话不太容易,但是像题解里面推出式子来就比较好理解了。定义两个函数:G(n): 长度为 n 的序列能构成的不同二叉搜索树的个数。F(i, n): 以 i 为根、序列长度为 n 的不同二叉搜索树个数(1≤i≤n)。代码class Solution {public: int numTrees(int n) { vector&

2020-08-24 18:20:30

【LeetCode】338. 比特位计数(DP)

比特位计数一级目录二级目录代码一级目录二级目录代码class Solution {public: vector<int> countBits(int num) { vector<int> dp(num+1); dp[0]=0; for(int i=0;i<=num;i++) if(i%2!=0) dp[i]=dp[i-1]+1; else dp[i]=dp[i/2]

2020-08-20 23:10:36

【LeetCode】300. 最长上升子序列(DP)

最长上升子序列题目描述解题思路代码题目描述给定一个无序的整数数组,找到其中最长上升子序列的长度。(注意:子序列可以不连续,子串要连续)例如:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。解题思路动态规划。动态规划主要就是要找准状态和状态转移。本题的状态显然可以是上升子序列的最大长度。状态转移就是:首先定位到我所要求的dp[i]位置上,在i之前比较(即j<i) 如果nums[i]>nums[

2020-08-20 22:36:27

211. 添加与搜索单词 - 数据结构设计(leetcode)

添加与搜索单词题目描述解题思路代码题目描述题目链接:211. 添加与搜索单词 - 数据结构设计(leetcode)设计一个支持以下两种操作的数据结构:void addWord(word)bool search(word)search(word) 可以搜索文字或正则表达式字符串,字符串只包含字母 . 或 a-z 。 . 可以表示任何一个字母。解题思路主要是利用字典树。字典树的基本学习可以做这道题:208. 实现 Trie (前缀树)。理解了基本字典树的思想后再做这道题其实就是关于通配符的处

2020-08-13 19:51:34

235. 二叉搜索树的最近公共祖先(leetcode)

二叉搜索树的最近公共祖先题目描述解题思路代码题目描述题目链接:二叉搜索树的最近公共祖先给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例:1:输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8输出: 6 解释: 节点 2 和节点 8 的最近公共

2020-08-08 16:40:01

116、117填充每个节点的下一个右侧节点指针I、II(leetcode)

填充每个节点的下一个右侧节点指针题目描述解题思路完美二叉树二叉树代码完美二叉树二叉树题目描述题目链接:116 117116和117题目类似,都是要填充每个结点的 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。(初始状态下,所有 next 指针都被设置为 NULL。)例:所不同的是116为完美二叉树,而117为普通二叉树。解题思路刚看题目描述,肯定是不太清楚是什么意思。其实就是二叉树的每个结点定义时就有一个next指针,我

2020-08-05 12:49:58

时间复杂度和空间复杂度

时间复杂度和空间复杂度时间复杂度概念分析方法题(之后补充)空间复杂度时间复杂度概念频度:是指该语句在算法中被重复执行的次数。T(n):是指算法中所有语句的频度之和,它是该算法问题规模n的函数。时间复杂度:就是分析T(n)的数量级。分析方法两条规则:通过设执行次数->经过执行之后的值->由限制条件求解。题(之后补充)空间复杂度...

2020-08-04 18:35:28

二叉树遍历(非递归解法)一个模板解决三种遍历

二叉树遍历(非递归解法)用同一个模板解决三种递归。附理解和代码

2020-08-02 19:22:12

二叉树遍历(递归解法)

二叉树遍历(递归解法)思想加代码

2020-08-02 13:53:33

387. 字符串中的第一个唯一字符(leetcode)

字符串中的第一个唯一字符题目描述解题思路代码题目描述给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。s = “leetcode”返回 0s = “loveleetcode”返回 2解题思路只需判断字符串的最前面的位置和最后面的位置是否相等即可,是,则返回位置,不是,则继续遍历,遍历结束仍没有找到则返回-1。运用find和rfind函数,分别从前往后和从后往前查找。代码class Solution {public: int firstU

2020-07-30 11:35:24

【Git】2常用命令理解

git常用命令工作流程常用指令工作流程git的工作流程一般是这样的:1、在工作目录中添加、修改文件;2、将需要进行版本管理的文件放入暂存区域;3、将暂存区域的文件提交到git仓库。因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)常用指令remote:远程仓库repository:版本库(仓库)index:暂存区workspace:工作区在了解了区域关系(区域理解)之后,就可以来理解指令。常用指令:Git init

2020-07-29 18:12:37

【Git】1工作区、暂存区、版本库、远程仓库理解

Git的区域理解版本库工作区暂存区远程仓库HeadObjectsMaster版本库仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本位置: .git 就是版本库。工作区存放工程的地方。位置:一个文件夹通过git init 设置成一个git可以管理的文件夹时,这个文件夹里的内容(除去.git文件夹)就是工作区。例:暂存区暂存区,叫stage 或者 index ,是用来暂时存放工作区中修改的内容,可以理解为一个中转站。位置:在.

2020-07-29 17:13:35

206. 反转链表(leetcode)

反转链表题目描述解题思路代码题目描述题目链接:反转链表主要题目就是反转链表:例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL解题思路用的是迭代法。这个的一个特点就是往链表头部添加元素,天然具有倒序的特点。所以按照输入顺序直接添加元素,那么输出就是倒序。代码思路就是:先保存next结点。如果先执行的话,就会丢失next结点修改next,指向新链表修改pre为已添加的结点

2020-07-27 19:27:00

198. 打家劫舍(leetcode)

打家劫舍题目描述解题思路代码题目描述题目链接:198. 打家劫舍(leetcode)主要就是求数组和的最大值,要求每个数组的值不能相邻。示例 :输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。解题思路动态规划。分析这个问题可由两部分组成,偷前k-1间房子,最后一间不偷;偷前k-2间房子和最后一间。因此,状态转移方程为:还要注意:在写递推关系的时候,要注意写上 k=0和

2020-07-22 17:00:12

滑雪(信息学奥赛一本通—1280:【例9.24】)

滑雪题目描述用到的知识代码题目描述题目链接:1280:【例9.24】滑雪小明喜欢滑雪,因为滑雪的确很刺激,可是为了获得速度,滑的区域必须向下倾斜,当小明滑到坡底,不得不再次走上坡或等着直升机来载他,小明想知道在一个区域中最长的滑坡。滑坡的长度由滑过点的个数来计算,区域由一个二维数组给出,数组的每个数字代表点的高度。下面是一个例子:其实本题就是求这个数字矩阵一个走向的最大长度,走的要求是每次可以上下左右任意方向,但是下一个数必须比当前的数要小,最后输出这个长度。【输入样例】5 51 2 3 4

2020-07-20 16:50:03

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。