面试题
文章平均质量分 78
ccluqh
这个作者很懒,什么都没留下…
展开
-
MapReduce案例Java版本
MapReduce原创 2022-05-13 11:05:21 · 314 阅读 · 0 评论 -
leetcode103. 二叉树的锯齿形层次遍历
1.题目描述给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[ [3], [20,9], [15,7]]来源:力扣(Le...原创 2020-04-06 17:20:12 · 250 阅读 · 0 评论 -
leetcode445. 两数相加 II
1.题目描述给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。示例:输入: (7 -> 2 -> 4 -> 3) + (5 -> 6 ...原创 2020-04-06 14:39:02 · 277 阅读 · 0 评论 -
leetcode2. 两数相加
1.题目描述给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -...原创 2020-04-06 14:19:40 · 153 阅读 · 0 评论 -
字节跳动面试题.有序数组每个数平方后,不同数字的个数?O(n)
1.题目描述给你一个有序整数数组,数组中的数可以是正数、负数、零,请实现一个函数,这个函数返回一个整数:返回这个数组所有数的平方值中有多少种不同的取值。举例:nums = {-1,1,1,1},那么你应该返回的是:1。因为这个数组所有数的平方取值都是1,只有一种取值nums = {-1,0,1,2,3}你应该返回4,因为nums数组所有元素的平方值一共4种取值:1,0,4,9...原创 2019-12-23 20:15:28 · 1263 阅读 · 0 评论 -
字节跳动面试题.如何等概率地大小为n的数组中选取m个整数(python)
题目描述:随机的从大小为n的数组中选取m个整数,要求每个元素被选中的概率相等。分析与解答:首先从有N个元素的数组中随机选出一个元素,然后把这个选中的数字与数组中第一个元素交换,接着从数组后面N-1个数字中选出1个元素与数组中第二个元素交换,以此类推,直到选出m个数字为止,数组前m个数字就是随机选出来的m个数字,且他们被选中的概率相同。————————————————版权声明:本文为CS...原创 2020-04-06 00:58:26 · 1227 阅读 · 0 评论 -
剑指offer/leetcode21. 合并两个有序链表
1.题目描述将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-sorted-...原创 2020-04-05 16:32:23 · 188 阅读 · 0 评论 -
leetcode128.最长连续序列
1.题目描述给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为O(n)。示例:输入:[100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。2.解题思路这些数字用一个 HashSet 保存(或者用 Python 里的 Set),实现 O(1)时间的查询,同时,我们只对 当前数字...原创 2020-04-04 18:25:40 · 183 阅读 · 0 评论 -
剑指offer.左旋转字符串Python「字节跳动」
1.题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!2.解题思路就是将原数组,分为两个部分,分别将这两个部分逆序,然后再将合并后的字符...原创 2020-04-04 17:42:57 · 228 阅读 · 0 评论 -
字节跳动面试题.使用固定长度的数组实现队列
/** * 固定长度数组实现队列 */public class ArrayQueue { private int[] data; private int start; private int end; private int size; public ArrayQueue(int capacity) { if (capacity &...原创 2020-04-04 15:48:28 · 271 阅读 · 0 评论 -
leetcode41.缺失的第一个正数
1.题目描述给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例1:输入: [1,2,0]输出: 3示例2:输入: [3,4,-1,1]输出: 2示例3:输入: [7,8,9,11,12]输出: 1提示:你的算法的时间复杂度应为O(n),并且只能使用常数级别的额外空间。来源:力扣(LeetCode)链接:https://l...原创 2020-04-04 15:12:27 · 221 阅读 · 0 评论 -
leetcode160.相交链表
1.题目描述编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:...原创 2020-04-04 13:21:33 · 207 阅读 · 0 评论 -
leetcode567.字符串的排列
1.题目描述给定两个字符串s1和s2,写一个函数来判断 s2 是否包含 s1的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例1:输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba").示例2:输入: s1= "ab" s2 = "eidboaoo"输出: False...原创 2020-04-04 00:12:26 · 308 阅读 · 0 评论 -
leetcode8. 字符串转换整数 (atoi)「2020-0403」
1.题目描述请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之...原创 2020-04-03 18:43:35 · 183 阅读 · 0 评论 -
字节跳动面试题.二叉排序树的合并
1.题目描述试编写程序,将两棵二叉排序树合并为一棵二叉排序树。2.解题思路将第二棵树的节点合并到第一棵树上,然后中序遍历第一棵树递归中序遍历第二棵树的节点,再将节点插入到第一棵树中3.代码实现class TreeNode(object): def __init__(self, x): self.val = x self.left...原创 2020-04-03 17:51:14 · 936 阅读 · 0 评论 -
如何使用简单的SQL查询在MySQL中计算中位数
https://forum.huawei.com/enterprise/zh/thread-424163-1-1.html原创 2020-03-29 22:15:25 · 437 阅读 · 0 评论 -
字节跳动面试题.个人玩抛硬币的游戏,谁先抛到正面就获胜。那么先抛的人获胜概率为?
第一次:正第三次:反反正第五次:反反反反正.......第N次:反反。。。。正p=1/2+(1/2)^3+(1/2)^5+······+(1/2)^(2n+1)=1/2*(1+1/4+(1/4)^2+……+(1/4)^n)当公比不为1时,等比数列的求和公式为:Sn=[a1(1-q^n)]/(1-q)对于一个无穷递降数列,数列的公比小于1,当上式得n趋向于正无穷大时,分子括号中的...原创 2020-03-29 21:41:25 · 6302 阅读 · 4 评论 -
leetcode950.按递增顺序显示卡牌
1.题目描述牌组中的每张卡牌都对应有一个唯一的整数。你可以按你想要的顺序对这套卡片进行排序。最初,这些卡牌在牌组里是正面朝下的(即,未显示状态)。现在,重复执行以下步骤,直到显示所有卡牌为止:从牌组顶部抽一张牌,显示它,然后将其从牌组中移出。如果牌组中仍有牌,则将下一张处于牌组顶部的牌放在牌组的底部。如果仍有未显示的牌,那么返回步骤 1。否则,停止行动。返回能以递增顺序显示...原创 2020-03-29 16:44:47 · 220 阅读 · 0 评论 -
leetcode7.整数反转
1.题目描述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231,231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。...原创 2020-03-29 15:34:00 · 155 阅读 · 0 评论 -
字节跳动面试题.1条直线把平面分成2部分,2条直线最多把平面分成4部分,那么3条直线最多把平面分成几部分?n条呢?
原创 2020-03-28 23:01:44 · 630 阅读 · 0 评论 -
字节跳动面试题.无序数组求最大值
1.对于无序数组a,求a[i]-a[j]的最大值,其中i<j参考:https://www.cnblogs.com/freedom-wangyb/p/4192611.htmlpackage test;import java.util.Arrays;public class FindMax { public static void main(String[] args)...原创 2020-03-23 15:44:08 · 1967 阅读 · 0 评论 -
leetcode215. 数组中的第K个最大元素
1.题目描述在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。来源:力扣(...原创 2020-03-23 14:24:55 · 128 阅读 · 0 评论 -
剑指offer11.旋转数组的最小数字/leetcode153.寻找旋转排序数组中的最小值
1.题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。2.解题思路二分查找记录有序区间的第一个数字,来不断更新最小的结果作为答案。注意rig...原创 2019-12-18 17:24:07 · 106 阅读 · 0 评论 -
字节跳动面试题.二叉树最左下节点、二叉树最左节点、二叉树每行最左边节点
二叉树最左下节点、二叉树最左节点:二叉树每行最左边节点方法一:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self....原创 2020-03-23 12:17:56 · 1627 阅读 · 0 评论 -
牛客数据库SQL实战
1.最晚入职:select * from employees where hire_date = (select max(hire_date) from employees);# limit 0,1, 从你的表中的第0个数据开始,只读取一个;select * from employees order by hire_date desc limit 0,12.倒数第三入职sele...原创 2020-03-21 18:41:30 · 197 阅读 · 0 评论 -
面试题整理
1.python引用赋值、浅拷贝、深拷贝、is与==的区别https://www.cnblogs.com/xiaxiaoxu/p/9742452.htmlhttps://www.cnblogs.com/xueli/p/4952063.htmlhttps://www.cnblogs.com/yifanrensheng/p/11865041.html2.Python函数中的 “*” 和...原创 2020-03-21 17:33:00 · 146 阅读 · 0 评论 -
leetcode26.删除排序数组中的重复项、leetcode80. 删除排序数组中的重复项 II
1.题目描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素...原创 2019-11-20 19:35:38 · 142 阅读 · 0 评论 -
字节跳动面试题.36进制加法
1.题目描述36进制由0-9,a-z,共36个字符表示,最小为’0’;‘0’、'9’对应十进制的0、9,‘a’、'z’对应十进制的10、35'1b' 换算成10进制等于 1 * 36^1 + 11 * 36^0 = 36 + 11 = 47要求按照加法规则计算出任意两个36进制正整数的和如:按照加法规则,计算'1b' + '2x' = '48'不允许把36进制数字整体转为1...原创 2020-03-07 18:26:31 · 867 阅读 · 0 评论 -
堆内存和栈内存的区别
一、程序在编译的时候占用的内存分为以下几个部分:1 、栈区( stack )— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限.2 、堆区( heap )— 亦称动态内存分配.程序在运行的时候用malloc或new申请任意大小的内存,程序员自己负责在适当的时候用free或delet...原创 2020-02-29 19:05:31 · 4068 阅读 · 0 评论 -
剑指offer.用两个栈实现队列
1.题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。2.解题思路入队:将元素进栈A出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B,栈B出栈;如果不为空,栈B直接出栈。3.代码实现# -*- coding:utf-8 -*-class Solution: def __init__(self)...原创 2020-02-27 20:07:03 · 101 阅读 · 0 评论 -
大数乘法 - Karatsuba算法
参考:https://blog.csdn.net/u010983881/article/details/77503519/** * Karatsuba乘法 */public static long karatsuba(long num1, long num2){ //递归终止条件 if(num1 < 10 || num2 < 10) return...转载 2020-02-26 20:47:45 · 599 阅读 · 0 评论 -
leetcode152.乘积最大子序列「京东」
1.题目描述给定一个整数数组 nums,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 1:输入: [2,3,-2,4]输出: 6解释:子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释:结果不能为 2, 因为 [-2,-1] 不是子数组。2.解题思路3.代码实现class Solution(o...原创 2020-02-26 15:00:40 · 154 阅读 · 0 评论 -
leetcode698.划分为k个相等的子集
1.题目描述给定一个整数数组nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。示例 1:输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4输出: True说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。注意:1 <= k <= len(nums) &...原创 2020-02-23 17:01:20 · 1297 阅读 · 0 评论 -
剑指offer.数组中只出现一次的数字「趋势科技」
1.题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。2.解题思路链接:https://www.nowcoder.com/questionTerminal/e02fdb54d7524710a7d664d082bb7811?f=discussion来源:牛客网首先:位运算中异或的性质:两个相同数字异或=0,一个数和0异或还是它本...原创 2020-02-23 14:37:05 · 85 阅读 · 0 评论 -
leetcode697.数组的度
1.题目描述给定一个非空且只包含非负数的整数数组nums, 数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是找到与nums拥有相同大小的度的最短连续子数组,返回其长度。示例 1:输入: [1, 2, 2, 3, 1]输出: 2解释:输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示:[1, 2, 2, 3, ...原创 2020-02-23 14:04:28 · 172 阅读 · 0 评论 -
程序员面试金典.面试题 08.06. 汉诺塔问题
1.题目描述在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制:(1) 每次只能移动一个盘子;(2) 盘子只能从柱子顶端滑出移到下一根柱子;(3) 盘子只能叠在比它大的盘子上。请编写程序,用栈将所有盘子从第一根柱子移到最后一根柱子。...原创 2020-02-22 15:41:26 · 488 阅读 · 0 评论 -
字节跳动面试题.二叉树最远节点的距离
原创 2020-02-21 13:31:43 · 374 阅读 · 0 评论 -
在一圆周上任意取三个点构成锐角三角形的概率是多少?
任意一点A确定,B也确定之后,要形成锐角三角形,点C必须在DE之间,否则将成为直角或钝角三角形ABC。设AB对应夹角为θ,θ在(0,π)上才有可能形成锐角三角形。θ的概率密度是1/π,此时组成锐角三角形需要C点在AB对应的DE段间的概率是θ/2π所以概率是【θ/2π*1/π】关于θ在(0,π)积分=(θ^2)/(4π^2)在π取值减去在0取值=1/4...原创 2020-02-19 21:20:11 · 9776 阅读 · 0 评论 -
leetcode670.最大交换「地平线面试」
1.题目描述给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。示例 1 :输入: 2736输出: 7236解释: 交换数字2和数字7。示例 2 :输入: 9973输出: 9973解释: 不需要交换。注意:给定数字的范围是[0, 108]来源:力扣(LeetCode)链接:https://leetcode-cn.com/proble...原创 2020-02-19 15:25:26 · 520 阅读 · 0 评论 -
由长度为length的array表示的整数,允许相邻位数交换,求n步交换内能得到的最小整数「字节跳动面试题、小马智行笔试题」
1.题目描述数组中存储了一堆小于10的非负整数,整个数组从左到右代表一个正整数(如数组[0,1,3,2]代表正整数132)。现给出一个正整数K,要求经过K次数组相邻位置元素交换(必须完成K次交换),使得这个数组代表的数字最大。例如,int array[]={0,1,3,2},K=1,则经过1次交换后,数组能代表的最大值为1032;int array[]={0,1,3,2},K=2,则经...原创 2020-02-19 14:37:24 · 1277 阅读 · 3 评论