
刷题
文章平均质量分 94
网友张无忌
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 62. 圆圈中最后剩下的数字(数学推导)
剑指 Offer 62. 圆圈中最后剩下的数字题目描述剑指 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的时候,是这么取的设dp[n,m]dp[n,m]表示在n个数字序列(0~原创 2021-07-29 21:01:41 · 112 阅读 · 1 评论 -
剑指 Offer 20. 表示数值的字符串(一看就会的解法)
剑指 Offer 20. 表示数值的字符串题目要求如下走过的坑一开始我是这么分析的:这种方法不容易实现分析题目其实我们可以换一种思路,利用一个标签,决定true或者false。第一步当然是去掉若干空格 bool isNumber(string s) { //指针,记录扫描到s的哪个字符了 int i = 0; //跳过初始的空格 for(; i < s.size(); ++i) if(s原创 2021-07-25 17:08:57 · 101 阅读 · 1 评论 -
剑指offer 145. 一看就会的二叉树的后序遍历解法(递归与非递归)
一看就会的二叉树的后序遍历解法(递归与非递归)剑指offer 145. 二叉树的后序遍历递归能做非递归的没有不会递归的:class Solution {public: void traversal(TreeNode* cur,vector<int>& vec){ if(cur==NULL){return ;} traversal(cur->left,vec); traversal(cur->right,vec)原创 2021-07-08 17:47:44 · 109 阅读 · 1 评论 -
剑指offer 94. 二叉树的中序遍历
一看就会的二叉树的中序遍历解法(递归与非递归)剑指offer 94. 二叉树的中序遍历递归递归思路无非就是左子树、根节点、右子树,代码也较好理解:class Solution {public: void traversal(TreeNode* cur,vector<int>& vec){ if(cur==NULL){return ;} traversal(cur->left,vec); vec.push_back(c原创 2021-07-08 17:06:55 · 128 阅读 · 1 评论 -
剑指offer 144. 二叉树的前序遍历
一看就会的二叉树的前序遍历解法(递归与非递归)剑指offer 144. 二叉树的前序遍历递归递归思路无非就是根节点、左子树、右子树,代码也较好理解:class Solution {public: void traversal(TreeNode* cur,vector<int>& vec){ if(cur==NULL){return ;} vec.push_back(cur->val); traversal(cur-&原创 2021-07-08 16:54:22 · 153 阅读 · 1 评论 -
一看就会的剑指 Offer 07. 重建二叉树解法
剑指 Offer 07. 重建二叉树(精解)题目链接题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树:思路分析在数据结构的基础下,我们拥有的基础知识可得——前序+中序可以得到一个完整的二叉树。方法如下:1.对于已知的两种遍历,给出previ控制前序遍历的结点,给出inbegin原创 2021-07-07 22:09:35 · 137 阅读 · 1 评论 -
剑指offer16.数值的整数次方_一看就会的简单思路
剑指offer16.数值的整数次方_一看就会的简单思路习题链接问题如下:实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。要求明白了,现在分析问题:首先考虑边界值,也就是特殊情况:当x==1或者n==0的时候,返回1其次,看到取值范围,所以正常的int不能满足,需要用其他类型,比如long等当n取值为负数的时候,负数的次方 = 正数次方的倒数以上写出: if(x==1||n==0){ return原创 2021-06-23 19:58:29 · 179 阅读 · 2 评论 -
客似云来——习题精解
客似云来习题链接题目描述:NowCoder开了一家早餐店,这家店的客人都有个奇怪的癖好:他们只要来这家店吃过一次早餐,就会每天都过来;并且,所有人在这家店吃了两天早餐后,接下来每天都会带一位新朋友一起来品尝。于是,这家店的客人从最初一个人发展成浩浩荡荡成百上千人:1、1、2、3、5……现在,NowCoder想请你帮忙统计一下,某一段时间范围那他总共卖出多少份早餐(假设每位客人只吃一份早餐)。输入描述:测试数据包括多组。每组数据包含两个整数from和to(1≤from≤to≤80),分别代表开店原创 2021-06-02 15:50:05 · 268 阅读 · 0 评论 -
剑指 Offer 64. 求1+2+…+n
剑指 Offer 64. 求1+2+…+n求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。算数方法:(首项+末项)乘以项数除以2,这里不能用乘除法,可以寻找替代品。除以2可以用位运算:>>1表示数组:a[2][3]表示2行3列的数组,那么char和bool类型的数组大小,就可以用来表示:(首项+末项)乘以项数代码实现如下:...原创 2021-05-31 10:57:40 · 91 阅读 · 0 评论 -
删除公共字符
输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”#include <iostream>#include <string>using namespace std;int main(){ string s1, s2; getline(cin, s1); getline(cin, s2); for (int i原创 2021-04-19 16:29:08 · 97 阅读 · 0 评论