![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔试面试题
_仰望月空
这个作者很懒,什么都没留下…
展开
-
【LeetCode 不同路径123】使用动态规划三步骤解决
一、动态规划三大步骤之前在微信公众号【帅地玩编程】上看到有人分享,解决动态规划问题的三大步骤,今天使用这个解题套路,解决LeetCode中不同路径问题。这个问题,LeetCode中共有三题,难度从由低到高,分别为【62题 不同路径】、【63题 不同路径2】、【980题 不同路径3】。先上解题套路(下面是作者原话):动态规划,无非就是利用历史记录,来避免我们的重复计算。而这些历史记录...原创 2020-04-11 22:05:32 · 494 阅读 · 0 评论 -
【携程2018校招】数组中非零元素稳定的放到数组前面,零元素放到数组后面
题目描述:给定一个数组,在不申请新数组的情况下,把数组中非零元素稳定的放到数组前面,零元素放到数组后面。稳定就是非零元素的相对位置不要发生改变。题目很简单,水一下博客。解题方案:第一种方法,就是类似如插入排序的方法,遍历数组,如果遇到非零元素就将其向前移动,移动至前面的元素不为0或至数组顶端为止第二种方法,操作更少,用一个从零开始的辅助下标,遍历数组,如果遇到非零元素就将其赋给辅助下标的位置,然后...原创 2018-04-02 22:34:52 · 738 阅读 · 0 评论 -
【华为2018年校招笔试】找两个字符串的最大公共子串
题目描述:给出n对字符串,找到每对字符串中最大公共子串。输入格式: 2 //表示有2组 fsjdfgjs //第一组 fdfg jfdslkdfj //第二组 fjdkdfs 输出格式:33题目理解起来很简单,但是要用最优解的方式解...原创 2018-03-27 15:58:00 · 615 阅读 · 0 评论 -
【腾讯2018实习笔试题】求周期性改变元素符号的数组的和
题目描述:输入格式为一行两个数,比如8 2,则表示为这样一个数组{-1,-2,3,4,-5,-6,7,8},-1-2+3+4-5-6+7+8 = 8,输出格式为求这个数组的和。比如输入7 1,表示一个数组{-1,2,-3,4,-5,6,-7}注意,起始元素都是-1开始。解题方案:这是腾讯18年实习笔试的第一题,很简单,用辅助3个变量在时间复杂度bigO(n)内就能解决。代码:import java...原创 2018-04-09 16:49:11 · 307 阅读 · 0 评论 -
【小红书2017年笔试】求一个数组中平均数最大的子数组
题目: * 给一个数组,里边有N个整数,找长度为K(0 输入描述:* 6 (N的值)* 1 12 -5 -6 50 3 (含有N个整数的数组)* 4 (K的值) 输出描述: * 12.75题目很简单,时间复杂度O(N)内解决,就是维持一个长度为K的计算窗口,遍历数组,进来后一个数则减去窗口内的第一个数,保存最大的子数组和。最后除以窗口长度转换为浮点数输出即可。原创 2017-10-13 20:21:27 · 1578 阅读 · 1 评论 -
【滴滴笔试】利用快排找到一个无序的数组中的第K大的数
题目:找到一个无序数组中的第K大的数例如:输入:45 67 33 21 2 输出:45题目很简单,解答这题实际有很多种方法,好的排序的都可以,如堆排序,归并排序,希尔排序等等算法复杂度都在O(NlogN)快排在这题中应用更好,复杂度可以做到O(NlogK),因为不用排序完,只要找到第K大的数即可实际上最好的解题方法是BFPRT算法,是专门用来找第原创 2017-09-10 11:49:48 · 576 阅读 · 0 评论 -
【京东2017年秋招笔试题】统计移除括号对的方案数
题目:例如:(),()()(),(()()),(((())))都是合法的。东东现在有一个合法的括号序列s, 一次移除操作分为两步 1.移除序列s中第一个左括号 2.移除序列s中任意一个右括号,保证操作之后s还是一个合法的括号序列 东东现在想知道使用上述的移除操作有多少种方案可以把序列s变为空 如果两个方案中有一次移除操作移除的是不同的右括号就认为是不同原创 2017-09-10 11:10:54 · 860 阅读 · 0 评论 -
【科大讯飞2017年笔试题】课程冲突
题目:课程冲突小明是一名学生,又到了学校的选课时间,他想选一些课程学习,已知课程开课时间都在周一到周五之内,早上4节课,晚上2节课。小明担心选课时间上有所冲突,所以他希望可以对课程时间进行检查。输入:首先输入一个整数n(0之后输入n行选课信息,每行选课信息有2个数字,前一位用0到4表示周一到周五,后一位用0到9表示从早到晚顺序第几讲课,如12表示礼拜2第3讲课。01表示礼拜原创 2017-09-18 10:18:30 · 9743 阅读 · 1 评论 -
【58同城2017年笔试题】找到局部有序的数组的最小值,复杂度为O(logn)
题目:对升序的排列的整数数组连续取前N个元素进行逆序排列,得到局部有序的数组,如:【1,2,3,4,5,6】->【4,3,2,1,5,6】假设数组元素无重复,从这种局部有序的数组中找到最小值,要求时间复杂度小于O(n),空间复杂度为O(1)解题思路:①找到数组的中间位置mid的值,将mid的左右两边的值进行比较;②取mid和左右两边比较的小的一边,舍弃另一边;③直到在限原创 2017-09-23 22:31:57 · 1538 阅读 · 0 评论 -
【携程2017年笔试题】计算最长奔跑路径长度
* 题目:Tom猫喜欢从高的地方往低的地方奔跑,现在通过矩阵的方式表示某一区域的高低, * 如下所示: * 1 2 3 4 * 12 13 14 5 * 11 16 15 6 * 10 9 8 7 * 可以从矩阵中某一点奔跑到上下左右相邻的较小的点上,例如上面所示的矩阵中一条可以奔跑 * 的路径为14-13-2-1,长度为4,而最长的路径显然是16-15-14-……-4原创 2017-09-23 15:50:28 · 853 阅读 · 0 评论 -
【滴滴笔试】得到数组的最大子序列和
题目:得到一个数组的最大子序列和* 输入:-23 17 -7 11 -2 1 -34* 输出:21题目很简单,没什么好讲,代码都能看懂。import java.util.Scanner;public class FIndMaxSubArraySum { public static void main(String[] args) { Scanner scanner原创 2017-09-10 11:59:31 · 380 阅读 · 0 评论