摘要:
LeetCode-300-最长上升子序列 题目 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 思路 设定动态方程dp[i]表示从开始到第i个数字的最 阅读全文
摘要:
最小生成树 最小生成树(MST)是属于图论中的一种算法,主要用于解决最短路径,最小费用等问题 目前有两种算法可以从一个加权图中找出最小生成树: 首先是Prime算法,这种算法可以在加权图中找到一棵生成总费用(距离)最小的树 即每个节点与父节点和子节点是最小(短)的。 但这种算法每次需要遍历图中所有节 阅读全文
摘要:
矩阵快速求幂 在只使用标准库的情况下,c++没有现成的处理矩阵的标准库,所以矩阵的运算就比较麻烦,尤其是矩阵的乘法 加减法都可以对应位置做加减,乘法的运算相对比较复杂,幂运算又会带来的大量的乘法运算,所以这里记录一种 矩阵快速求幂的方法。这种方法可以将运算降低至指数次,原理是这样的: 1.矩阵A的m 阅读全文
摘要:
C语言学习笔记_位运算 知识点记录 基本位运算 按位与:全1为1,见0为0;与1相与无变化,与0相与变为0;可用于特定位清零 按位或:见1为1,全0为0;与1相或变为1,与0相或无变化;可用于特定位置1 异或:相同为0,不同为1;与1异或会取反,与0异或无变化;可用于特定位取反 移位运算 无符号数: 阅读全文
摘要:
嵌入式学习笔记_知识点 DRAM和SRAM的区别 两者都是随机存取器的一种,上电数据保持,掉电数据消失,不同的是,DRAM需要周期性的更新,SRAM不需要。 CPU数据总线、地址总线、位数与内存大小的关系 cpu的位数是指数据总线的位数,一般来说cpu的数据总线与地址总线相同,cpu的寻址范围为2e 阅读全文
摘要:
香蕉派 I2C点亮OLED 最近比赛项目需要在香蕉派上利用oled显示收到的数据,于是淘宝买了一块0.91寸、IIC驱动的oled屏幕,然而店家只提供了一份51单片机的驱动程序,需要自己移植到香蕉派上,踩了一些小坑,记录一波。 实验器材: 一块BPI M64的板子,系统为Ubuntu 16.04.3 阅读全文
摘要:
LeetCode-121-买卖股票的最佳时机 题目描述 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 注意:你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6, 阅读全文
摘要:
LeetCode-53-最大子序和 题目描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 思路解 阅读全文
摘要:
LeetCode-70-爬楼梯 题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阅读全文
摘要:
LeetCode-95-不同的二叉搜索树II 题目 给定一个整数 n,生成所有由 1 ... n 为节点所组成的二叉搜索树。 给定一个整数 n,生成所有由 1 ... n 为节点所组成的二叉搜索树。 输入: 3 输出: [ [1,null,3,2], [3,2,null,1], [3,1,null, 阅读全文
摘要:
LeetCode-198-打家劫舍 题目 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况 阅读全文
摘要:
LeetCode-279-完全平方数 题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 示例 1: 输入: n = 12 输出: 3 解释: 12 = 4 + 4 + 4. 示例 2: 输入: n = 阅读全文