牛客图书馆 > 读书笔记
  • 面试题【39-48】时间效率

    面试题39:数组中出现次数超过一半的数字 题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1, 2, 3, 2, 2, 2, 5, 4, 2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。 ...
    下一次什么时候可以修改昵称 编辑于 2020-11-06 15:30:59
  • 面试题【49-52】时间效率与空间效率的平衡

    面试题49:丑数 题目:我们把只包含因子2、3和5的数称作丑数(Ugly Number)。求按从小到大的顺序的第1500个丑数。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做第一个丑数。 算法:暴力 丑数在一直除2一直除3一直除5后...
    下一次什么时候可以修改昵称 编辑于 2020-11-06 15:31:57
  • 面试题【53-59】知识迁移能力

    面试题53:在排序数组中查找数字 题目一:数字在排序数组中出现的次数 题目:统计一个数字在排序数组中出现的次数。例如输入排序数组{1, 2, 3, 3, 3, 3, 4, 5}和数字3,由于3在这个数组中出现了4次,因此输出4。 算法:二分查找-循环 寻...
    下一次什么时候可以修改昵称 编辑于 2020-11-06 15:32:39
  • 面试题【60-63】抽象建模能力

    面试题60:n个骰子的点数 题目:把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 算法:循环 用两个数组保存骰子总数出现的次数 第一个数组保存n个骰子时总和频率 第二个数组保存n+1个骰子时总和频率 ...
    下一次什么时候可以修改昵称 编辑于 2020-11-06 15:33:13
  • 面试题【64-66】发散思维能力

    面试题64:求1+2+…+n 题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 算法1:利用构造器和静态变量 public int sumNums(int n)...
    下一次什么时候可以修改昵称 编辑于 2020-11-06 15:33:48
  • 面试题【67-68】两个面试案例

    面试题67:把字符串转换成整数 题目:请你写一个函数StrToInt,实现把字符串转换成整数这个功能。当然,不能使用atoi或者其他类似的库函数。 public int myAtoi(String str) { if (str ==...
    下一次什么时候可以修改昵称 编辑于 2020-11-06 15:34:28
  • 4/11-剑指offer

    1.二叉搜索树与双向链表思路:二叉搜索树中序遍历是排好序的,按照中序遍历的顺序,当遍历转换到根节点时,左子树已经转换为一个排序的链表,并且处在链表中的最后一个节点是当前值最大的节点。我们把倒数第二个节点和根节点连接起来,此时链表的最后一个节点就是根节点。接着去...
    bloodfire 编辑于 2020-04-11 23:17:16
  • 4/1题解-剑指offer

    1.正则表达式匹配实现一个函数来匹配带.和“※”的正则表达式,其中,.可以表示任意一个字符,而“※”表示它前面的字符可以出现任意次(包括0),例如a.a与ab※ac※a都与aaa匹配。思路:首先判断第二个字符是不是※,如果不是,就一位一位的比较,如果是,分两种...
    bloodfire 编辑于 2020-04-01 22:14:35
  • 4/6剑指offer

    1.包含min函数的栈思路:创建一个辅助栈,每次push时,辅助栈都压入当前的最小值,pop时二者共同pop,min就是返回辅助栈的栈顶。 class Solution { public: stack<int> s1,sMin; v...
    bloodfire 编辑于 2020-04-06 23:51:08
  • 第5题

    C++直接利用格式转换输出 #include<iostream> using namespace std; int main(){ printf("0%o 0X%X",1234,1234); return 0; ...
    咸鱼热炸了 编辑于 2021-03-19 16:40:09