自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 剑指offer刷题总结(53-68)

剑指offer(53-68)前言【面试题中的各项能力】沟通能力(多提问)学习能力知识迁移能力抽象建模能力选择合理的数据结构来表述问题分析模型中的内在规律,并用代码表述这种规律发散思维能力(多向性、变通性)53. 数字在排序数组中出现的次数【题目】统计一个数字在排序数组中出现的次数。【思路】分别用二分查找找到第一个k和最后一个k的下标public class Solution { public int GetNumberOfK(int [] array

2020-07-15 12:58:17 175

原创 剑指offer刷题总结(39-52)

剑指offer(39-52)前言String的 + 运算用 StringBuild的 append() 替代所有存在比较的地方都可以转化为“阴阳”二分法不只是可以用来比较数字大小归并排序的前后调换也可以用来计数所有的辅助空间都可以考虑重复使用39. 数组中出现次数超过一半的数字【题目】数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2

2020-07-01 10:38:32 187

原创 剑指offer刷题总结(27-38)

剑指offer(27-38)前言【解决面试题的思路】画图让抽象问题形象化举例让抽象问题具体化分解让复杂问题简单化27. 二叉树的镜像【题目】操作给定的二叉树,将其变换为源二叉树的镜像。二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \

2020-06-29 20:58:31 155

原创 剑指offer总结(16-26)

剑指offer(16-26)前言【代码的规范性、完整性、鲁棒性】代码的基本功能(功能测试)输入边界值是否能得到正确处理(边界测试)能否判断输入是否合乎规范,并对不符合规范的输入予以合适的处理(负面测试)16. 数值的整数次方【题目】给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为 0,不得使用库函数,同时不需要考虑大数问题【思路】注意:base = 0 的情况要处理,expo

2020-06-27 20:13:05 115

原创 剑指offer总结(10-15)

剑指offer(10-15)10.1 斐波那契数列【题目】用空间换时间,不做重复功现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39【思路】递归方法:导致重复计算动态规划:将计算过的中间项保存下来,避免重复计算; 空间O(N)改进:由于第 i 项只与 i-1 和 i-2 有关,所以只存储两项即可; 空间O(1)改进: 因为 n <= 39,所以先计算保存前40项,时间复杂度O(1)//递归 O(N^2)publi

2020-06-26 15:28:18 131

原创 剑指offer总结(2-9)

剑指offer(2-9)2. 实现 Singleton【目的】确保一个类只有一个实例,并提供该实例的全局访问点。【思路】使用一个私有构造函数、一个私有静态变量以及一个公有静态函数来实现。私有构造函数保证了不能通过构造函数来创建对象实例,只能通过公有静态函数返回唯一的私有静态变量。【实现】2.1 懒汉式-线程不安全优点:私有静态变量 uniqueInstance 被延迟实例化,节约资源;缺点:多线程环境下不安全,多个线程进入 公有静态函数,导致实例化多次public class Si

2020-06-26 15:25:17 114

原创 牛客网算法笔记(基础班第三课)

1用数组结构实现大小固定的栈和队列(一面常见题目)【思路】栈:​ 用 index 控制 push() 和 pop() 。​ 当 index =0 时,不可以 pop();​ 当 index = 数组长度 时,不可以 push()。队列:​ 循环队列,设置 start(重点)、end 和 size; //用size 解耦 start 和 end​ 用 size 控制 start 和 end 的 存取,size=0时,不可以操作 start ,size = 数组大小 时,不可以操

2020-05-14 16:26:20 395

原创 牛客网算法笔记(基础班第二课)

1问题一 -> 分两层给定一个数组arr, 和一个数num, 请把小于等于num的数放在数组的左边, 大于num的数放在数组的右边。要求额外空间复杂度O(1), 时间复杂度O(N)​ 令0~x为小于等于num区(初始看作-1之前的区域),遍历不断扩充这个区,类似选择排序问题二(荷兰国旗问题) -> 分三层给定一个数组arr, 和一个数num, 请把小于num的数放在数组的左边, 等于num的数放在数组的中间, 大于num的数放在数组的右边。要求额外空间复杂度O(1), 时间

2020-05-14 16:22:52 331

原创 牛客网算法笔记(基础班第一课)

一一个有序数组A, 另一个无序数组B,请打印B中的所有不在A中的数, A数组长度为N,B数组长度为M。算法流程1:对于数组B中的每一个数,都在A中通过遍历的方式找一下;算法流程2:对于数组B中的每一个数,都在A中通过二分的方式找一下;算法流程3:先把数组B排序,然后用类似外排的方式打印所有在A中出现的数;​ 1、O(M*N)​ 2、O(M*logN)​ 3、O(M*logM)+O(M+N)二对数器的概念和使用(用这种思想来自我验证)0, 有一个你想要测的方法a,1, 实现一

2020-05-14 16:20:02 359

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除