递推与递归
嘻嘻嘻277
努力学习,每天运动,早睡早起。
NNU菜鸡一枚,正在为GSoC努力准备!
展开
-
【蓝桥杯练习--递归】费解的开关
费解的开关按法与顺序无关每个各自最多按一次枚举第一行的操作每一行开关的操作由上一行灯的亮灭唯一确定枚举第一行的状态利用位运算从第二行开始由上一行灯的亮灭决定本行的开关操作,当要执行第h行时,前n-1行一定全亮,只要特判最后一行是否全亮即可在做题时要注意数据范围!飞行员问题可以直接枚举216到225定义偏移量...原创 2020-12-03 21:23:59 · 257 阅读 · 1 评论 -
【LeetCode之每日一题系列】226. 翻转二叉树
226. 翻转二叉树直接使用递归/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode* in原创 2020-09-16 19:29:24 · 110 阅读 · 0 评论 -
【LeetCode-204】1567. 乘积为正数的最长子数组长度
【中等】1567. 乘积为正数的最长子数组长度递归是一种特殊的DP思路1:(不推荐)暴力:枚举所有的子数组,计算其结果是否为正。但是复杂度为n2,所以要进行优化思路2:(推荐)因为要求结果为正的最长数组的长度,所以不妨从末尾出发向前递推到符合条件的最长子数组分情况讨论ai的正负,长度为以a[i-1]结尾的最长子数组其中f(n)/g(n)表示以a[n]结尾的,结果为正/负的最长子数组的长度。所以f(n)/g(n)的值一定大于等于0,因为是长度。可得如下表格:第i个元素的大小(ai原创 2020-09-16 13:35:26 · 242 阅读 · 0 评论 -
【递推及递归】练习问题汇总
翻硬币原创 2020-09-16 12:36:47 · 172 阅读 · 0 评论 -
【递归与递推】翻硬币(简化版费解开关)
翻硬币费解开关的简化版有解的话 必然只有一组解#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 110;int n;char start[N],aim[N];void turn(int i){ if(start[i]=='*') start[i]='o'; else start[i]='*';}原创 2020-09-14 19:46:26 · 229 阅读 · 0 评论