- 博客(6)
- 收藏
- 关注
原创 阿里笔试(走迷宫)
小强在玩一个走迷宫的游戏,他操控的人物现在位于迷宫的起点,他的目标是尽快的达到终点。每一次他可以选择花费一个时间单位向上或者向下或者向左或者向右走一格,或是使用自己的对称飞行器花费一个时间单位瞬移到关于当前自己点中心对称的格子,且每一次移动的目的地不能存在障碍物。具体来数说,设当前迷宫有n行m列,如果当前小强操控的人物位于点A(x, y),那么关于点A中心对称的格子B(x’, y’)满足x + x...
2020-04-03 12:19:34
1158
原创 算法与数据结构-排序篇
主要包括(选择,冒泡,插入,归并,非递归归并,快排,双路快排,三路快排,非递归快排,堆排) 算法复杂度以及内存分析 算法 平均复杂度 最坏情况 原地排序 额外空间 是否稳定 选择排序 o(n2n^{2}n2) o(n2n^{2}n2) 是 o(1) 是 冒泡排序 o(n2n^{2}n2) o(n2n^{2}n2) 是 o(1) 是 插入排序 o(n2n^{2}n2) o(n...
2020-04-03 11:58:07
285
1
原创 阿里笔试题(快速幂算法)
现有n个人,要从这n个人中选任意数量的人组成一支队伍,再在这些人中选出一名队长,求不同的方案数对109+710^{9}+7109+7取模的结果。如果两个方案选取的人的集合不同或者选出的队长不同,则认为这两个方案是不同的。(时间限制:C/C++ 1s 其他语言 2s 空间限制:C/C++ 262144K, 其他语言 524288K) ...
2020-03-25 08:31:16
943
原创 Leetcode分门别类 - 动态规划-Leetcode70-Climbing Stairs
动态规划 Leetcode 70 爬楼梯问题 问题描述:每次爬楼梯可以爬一阶或者两阶,爬上N阶楼梯共有多少种爬法。 问题分析:爬到n阶的那一步可能分为两种情况,又第n-1阶或者n-2阶爬上来,于是F(n) = F(n-1) + F(n-2)又回到斐波拉契数列。 记忆搜索解法 class Solution { private: vector<int> memo; i...
2020-02-22 11:41:54
289
原创 Leetcode分门别类 - 动态规划问题引入
动态规划 动态规划的定义 将原问题拆解成若干子问题,同时保存子问题的答案,使得每个子问题只求解一次,最终获得原问题的答案。 递归问题重叠子问题记忆化搜索动态规划自顶向下的解决问题自底向上的解决问题 注:很多时候,记忆化搜索过程也是动态规划 问题的引入:斐波拉契数列(Fibonacci Sequence) F(0)=0, F(1)=1, F(n) = F(n-1) + F(n-2) // A cod...
2020-02-22 10:03:45
277
1
原创 算法与数据结构
算法与数据结构笔记 第一课 课程github链接: https://github.com/liuyubobobo/Play-with-Algorithms 学习要求 需要掌握最基础的语言知识 了解数组,链表,堆,栈等线性结构 对基本的算法知识有常识性的了解:如递归,遍历,算法复杂度 无法覆盖所有的数据结构算法 堆: 斐波拉契堆 树: 线段树 图: 网络流 算法思想 分治算法 - 归并排序,...
2020-02-07 10:05:48
924
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅