首页 > TAG信息列表 > 对答如流
剑指Offer对答如流系列 - 和为s的数字
文章目录面试题57:和为s的数字一、题目描述二、问题分析三、问题解答 面试题57:和为s的数字 一、题目描述 问题(1)和为s的两个数字 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,输出任意一对即可。 问题(2)为s的连续正数序剑指Offer对答如流系列 - 数组中数字出现的次数
面试题56:数组中数字出现的次数 题目描述 问题(1)数组中只出现一次的两个数字 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 问题(2)数组中唯一只出现一次的数字 在一个数组中除了一个数字只出剑指Offer对答如流系列 - 从1到n整数中1出现的次数
面试题43:从1到n整数中1出现的次数 题目描述 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。 例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。 问题分析 最容易想到的思路是通过对10求余数判断整数的个位数字是不是1。代码书写也很简单,但是如果剑指Offer对答如流系列 - 数组中出现次数超过一半的数字
面试题39:数组中出现次数超过一半的数字 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1, 2, 3, 2, 2, 2, 5, 4, 2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。 问题分析 大家最容易想到的思路是 数字次数超剑指Offer对答如流系列 - 最小的k个数
面试题40:最小的k个数 题目描述 输入n个整数,找出其中最小的k个数。例如输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 问题分析 最容易想到的方法就是排序,取相应数字的元素即可。我这里为了方便直接使用了快排来做这个。 想拉开与别人的差距,难免需要优化时间剑指Offer对答如流系列 - 数据流中的中位数
面试题41:数据流中的中位数 题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 所谓数据流,就是不会一次性读入所有数据,只能一个剑指Offer对答如流系列 - 连续子数组的最大和
面试题42:连续子数组的最大和 题目描述 输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整/数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 问题分析 输入数组{1、-2、10、-4、7、2、-5} 很容易看出从第一个数字开始累加,若走到某一个数字时,剑指Offer对答如流系列 - 二叉树的下一个节点
面试题7:二叉树的下一个节点 题目描述 给定一棵二叉树和其中的一个节点,如何找出中序遍历序列的下一个节点?树中的节点除了有两个分别别指向左右子节点的指针,还有一个指向父节点的指针 例如:这棵树的中序遍历是:D,B,H,E,I,A,F,C,G 解题思路 这套题相比于上一道面试题剑指Offer对答如流剑指Offer对答如流系列 - 用两个栈实现队列
面试题8:用两个栈实现队列 题目描述 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。 思路 这道题非常简单,我给你说,你就把栈当成一个存放乒乓球(元素)的细瓶子,如果你有两个细瓶子,你就可以倒来剑指Offer对答如流系列 - 二维数组中的查找
目录 面试题3:二维数组中的查找 暴力 找规律 规律一 规律二 面试题3:二维数组中的查找 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 例如下面剑指Offer对答如流系列 - 替换空格
面试题4:替换空格 题目:请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We are happy.”,则输出“We%20are%20happy.”。 在网络编程中,如果URL参数中含有特殊字符,如空格、'#'等,可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转换成服务器可以识别的字剑指Offer对答如流系列 - 实现Singleton模式
目录 面试题2:实现Singleton模式 一、懒汉式写法 二、饿汉式写法 三、枚举 面试题2:实现Singleton模式 题目:设计一个类,我们只能生成该类的一个实例。 由于设计模式在面向对象程序设计中起着举足轻重的作用,在面试过程中很多公司都喜欢问一些与设计模式相关的问题。在常用的模剑指Offer对答如流系列 - 最小的k个数
文章目录面试题40:最小的k个数一、题目描述二、问题分析三、问题解答 面试题40:最小的k个数 一、题目描述 输入n个整数,找出其中最小的k个数。例如输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 二、问题分析 最容易想到的方法就是排序,取相应数字的元素即剑指Offer对答如流系列 - 正则表达式匹配
文章目录面试题19:正则表达式匹配一、题目描述二、问题分析三、问题解答 面试题19:正则表达式匹配 一、题目描述 请实现一个函数用来匹配包含'.'和'*'的正则表达式。 模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(含0次)。 在本题中,匹配是指字符串的所剑指Offer对答如流系列 -旋转数组的最小数字
面试题10:旋转数组的最小数字 一、题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。 时间复杂度要求小于O(n)