Louie.Ye
Louie.Ye
全部文章
题解
归档
标签
去牛客网
登录
/
注册
有志不在年糕
酷安:风聆Mia开发者
全部文章
/ 题解
(共9篇)
【剑指offer JZ11】二进制中1的个数(移位运算符)
1. 知识点 二进制要明白与(全一出一),或(有一出一),异或(或-与的部分)出一 负数补码:最高位为1 其余取反1)写法 运算符左右移(运算效率高与除法,而已机器码就是0101.。。)1)左移2)右移(符号位填充) 2. 解法1:和1做与运算 因为1只有一位 所以对应位就是最后一位 cla...
剑指offer
2021-03-25
0
582
【剑指offer JZ10】矩形覆盖(递推的优势 递归次数较多时,内存占用也会随之增)
1. 矩形覆盖问题的思路是,从左到右横着放/竖着放影响右侧空间的灵活度 竖着放的话灵活度是7,横着放的话 限定死了下面那个要横着放 右侧灵活度为6 2. f(n)=f(n-1)+f(n-2)3. 写代码,但是很不幸,内存超限了,而且非常严重 class Solution { public: ...
剑指offer
2021-03-25
0
540
【剑指Offer JZ9】变态跳台阶(递归+数学归纳法)
1. 该题为这个斐波那契的变种 判断他是斐波那契的思考方式为: class Solution { public: int jumpFloorII(int number) { if(number==1) return 1; else if(number=...
剑指offer
2021-03-25
0
592
【剑指offer JZ5】用两个栈实现队列
1. 思路 栈特性:先进后出 队列特性:先进先出 实现方法:先进第一个栈,然后倒序进入第二个栈,弹出时第二个栈的top出去即可 相关函数,栈是pop()和push(x),size()方法看容量,empty()是是否为空,栈顶元素top()1)方法一:stack2需要出栈1个就从stack1里...
剑指offer
2021-03-25
0
466
【剑指offer JZ4】重建二叉树 --C++实现
1. 解题思路 首先要明白 先序,中序,后序遍历(就是根左右,左根右,左右根) 样例先序遍历:[1,2,3,4,5,6,7] 中序遍历:[3,2,4,1,6,5,7]1)起初范围就是整个先序列表和中序列表 ,先序的每个依次作为根节点2)首先是1 对应中序数组下标[3],则3,2,4为左子...
剑指offer
2021-03-24
0
528
剑指offer T6:旋转数组的最小数字
1. 题目情况就是打印最小的,突破点在于有效利用特性,该组的特性就是将前面的序列移动至末端,且分割后两个序列都是递增的。所以优化方案又是咱们熟悉的二分法(钠喊:万物皆可二分) 2.源代码(只在第一次使用了二分思想,是可以再优化的) class Solution { public: int m...
剑指offer
2021-03-19
0
445
剑指offer T3->从尾到头打印链表
1. 输入参数 1.观查发现 返回值是vector系列,并且给了个头指针,决定了,建立一个vector数组,然后使用头插法搞定2. Vector常用函数整理 2. 代码模块 思路来源liuwu26class Solution { public: vector<int> print...
剑指offer
2021-03-19
0
365
剑指offer->T2 替换空格
1. 思考点 string类型和数组的关联,size()获取大小,+=的方式进行拼接。非常好用 2. 代码块 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * ...
剑指offer
2021-03-19
21
2322
剑指offer->T1:二维数组的查找
1. 编译说明 第一次刷剑指offer的题,记录一下这种模式(核心代码模式),这种模式不需要考虑输入输出。二维数组就是Find里的 array。要查找的对象就是target目标。这道题个人第一反应就是从左上角广搜嘛,但其实没必要,算法是灵活的,怎么方便简洁怎么来,思路是反向从大到小缩小遍历控件,左...
剑指offer
2021-03-19
0
499