模拟
算法 模拟
free1993
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 44. 数字序列中某一位的数字
题目 数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。 请写一个函数,求任意第n位对应的数字。 思路 归纳数学规律的题目 从1-9有9个数字,每个数字1位 从10-99有90个数字,每个数字2位 。。。 代码 typedef long long ll; class Solution { public: int findNthDigit(int n) { int bit原创 2021-06-21 12:29:13 · 67 阅读 · 0 评论 -
剑指 Offer 62. 圆圈中最后剩下的数字
题目 0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。 示例一 输入: n = 5, m = 3 输出: 3 思路分析 我们用f(n,m)表示保留的数字的下标,因为在这道题目中,数组的范围是从0~n-1,因此,下标也是最后保留的数字的结果。 因此,假设在长原创 2021-03-28 11:05:39 · 70 阅读 · 0 评论 -
leecode856.括号中的分数
题目 括号中的分数 思路分析 模拟法做这道题。 当遍历到当前字符串为’('时,将0压入栈中。 当遍历到当前字符串为’)‘时,取栈顶元素。如果栈顶元素是非0,累加栈顶元素,直到遇到0.如果栈顶元素是0,说明此时的情况是’()’,将1压入栈。 当遍历完所有的字符串的时候,将栈中所有的数字累加得到最后的结果。 代码 class Solution { public: int scoreOfParentheses(string S) { stack<int> s;原创 2020-12-09 18:46:13 · 92 阅读 · 0 评论