摘要: 问题1:状态表示 f(i)表示前i位数字共有多少种不同的翻译方式问题2:状态如何计算如果第i位翻译成单独的字母,则方案数f(i)=f(i-1);如果第i-1和i位翻译成单独的字母,则方案数f(i)=f(i-2);f(i)=f(i-1)+f(i-2)f(i-1)这种情况一定可以满足,因为第i位上的数字 阅读全文
posted @ 2020-02-17 22:53 靖愁 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 思路: https://www.cnblogs.com/lliuye/p/9159152.html 2 思路描述: sort(begin,end,cmp),cmp参数默认升序。 ⑤vector进行排序 sort(nums.begin(),nums.end()); static bool cmp(in 阅读全文
posted @ 2020-02-17 20:01 靖愁 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 算法1以第15位数字1为例(1隶属与12,两位数,位于12从左侧以0号开始下标为0的位置)步骤1:首先确定该数字是属于几位数的;如果是一位数,n<9;如果是两位数,n<9+90X2=189;说明是两位数。因为是从0开始数数。0-9可以表示10个数字,从0开始数可以表示到9。10-99一共有90X2个 阅读全文
posted @ 2020-02-17 18:28 靖愁 阅读(234) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/wangkundentisy/p/8946858.html 结论: 对于数字n,计算它的第i(i从1开始,从右边开始计数)位数上包含的数字1的个数: 假设第i位上的数字为x的话,则 1.如果x > 1的话,则第i位数上包含的1的数目为:(高位数字 + 阅读全文
posted @ 2020-02-17 16:15 靖愁 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 视频:AcWing 55. 连续子数组的最大和 思路 class Solution { public: int maxSubArray(vector<int>& nums) { int res=INT_MIN;//INT_MIN:负无穷 int sum = 0; for(int i=0 ; i<nu 阅读全文
posted @ 2020-02-17 15:14 靖愁 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 思路:AcWing 54. 数据流中的中位数 将数组分成两半,一个大顶堆和一个小顶堆,大顶堆维护小于中位数的所有元素,小顶堆维护大于中位数的所有元素,两个堆的元素数量差不能超过2,超过2就互相匀一匀。 代码: class Solution { priority_queue<int> maxHeap; 阅读全文
posted @ 2020-02-17 13:46 靖愁 阅读(151) 评论(0) 推荐(0) 编辑