2021年小米校招java笔试编程题(AC)

有幸成为今年小米校招二十万分母的一员,小米编程题不算难基本都是板子题。之前力扣周赛也能看出来,一群大佬十几分钟AK。
这次笔试分为单选、多选和两道编程题。个人感觉多选难一点。

废话少说,给题,刚刚写完还热乎的。

求最长公共子序列的长度

题目描述:

给定两个字符串str1和str2,输出两个字符串的最长公共子序列的长度。如果最长公共子序列为空,则返回"0"。目前给出的数据,仅仅会存在一个最长的公共子序列

  • 样例输入:
  • 1A2C3D4E56
  • A1B2345C6D
  • 样例输出 6
public class Main{public static void main(String  []args){Scanner in = new Scanner(System.in);//基本的dp板子题 思路就不讲了,详情csdn:dpString a = in.nextLine();String b = in.nextLine();//这里位置换了一下,是因为我画图画反了。。int len1 = b.length();int len2 = a.length();int [][]dp = new int[len1][len2];dp[0][0]=a.charAt(0)==b.charAt(0)?1:0;//存初始for(int i=1;i<len1;i++){ //初始化第一列dp[i][0] = a.charAt(0)==b.charAt(i)?dp[i-1][0]+1:dp[i-1][0];if(dp[i][0]>1) dp[i][0]=1;}for(int j=1;j<len2;j++){//初始化第一行dp[0][j] = a.charAt(j)==b.charAt(0)?dp[0][j-1]+1:dp[0][j-1];if(dp[0][j]>1) dp[0][j]=1;}for(int i=1;i<len1;i++){for(int j=1;j<len2;j++){//经典转换方程dp[i][j]= a.charAt(j)==b.charAt(i)?Math.max(dp[i][j-1],dp[i-1][j])+1:Math.max(dp[i][j-1],dp[i-1][j]);}}System.out.println(dp[len1-1][len2-1]);}
}

红白蓝彩条排序

题目描述:

给你一个仅有红,白,蓝三种颜色组成的10个条块序列,现需要你将这些条块按照红,白,蓝的顺序排好,可用1代表红色,2代表白色,3代表蓝色,要求时间复杂度为O(n)。例如,给定彩色条块序列为:

{蓝、白、红、白、蓝、红、白、白、红、蓝}

则要求排列结果为:

{红、红、红、白、白、白、白、蓝、蓝、蓝}

输入描述
{蓝、白、红、白、蓝、红、白、白、红、蓝}

输出描述
{红、红、红、白、白、白、白、蓝、蓝、蓝}

样例输入
3 2 1 2 3 1 2 2 1 3
样例输出
1 1 1 2 2 2 2 3 3 3

import java.util.Scanner;
public class Main{public static void main(String  []args){Scanner in = new Scanner(System.in);int []num = new int[15];//用桶排序思路来统计 达到O(n) 效率for(int i=0;i<10;i++){int n = in.nextInt();num[n]++;}//这里虽然是两层循坏 但时间复杂度还是O(n)。//因为第二层是n的一部分而不是n,应该是第二层乘第一层的3才算n。(应该大概也行)for(int i=1;i<=3;i++){for(int j=0;j<num[i];j++){System.out.print(i+" ");}}}
}

2021年小米校招java编程题相关推荐

  1. java校招面试题_java校招面试编程题及答案.docx

    java校招面试编程题及答案 java校招面试编程题及答案 Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点.这里,我列出了一些关于Java集合的重要问题和答案. 集合框 ...

  2. 魔法币 java_网易2018校招笔试编程题-魔法币 java实现

    魔法币 原题 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币. 魔法机器1:如果投 ...

  3. 背包问题 2020年小米校招JAVA岗笔试第二题

    对于背包问题:例如小偷东西问题 如上图 小偷最多可以带走重量位20.要尽可能带走多的商品. 所以应该设置数组capacity[20+1], 商品itmes [5+1] 其中,capacity[0]=0 ...

  4. java经典50道_50道经典的JAVA编程题(41-45)

    50道经典的JAVA编程题(41-45),苦逼的程序猿,晚上睡不着了编程吧~今天坚持做10道题!发现编程能是我快乐...O(∩_∩)O哈哈~能平静我烦乱的心,剩下5道题留到考试完了再做吧!该睡觉了.. ...

  5. java 编程题_最新JAVA编程题全集(50题及答案)92862

    <最新JAVA编程题全集(50题及答案)92862>由会员分享,可在线阅读,更多相关<最新JAVA编程题全集(50题及答案)92862(32页珍藏版)>请在人人文库网上搜索. ...

  6. 质量不同的球java编程_荐非常经典的java编程题全集-共50题(1-10)...

    非常经典的java编程题 程序1:斐波那契数列问题 题目概述: 古典问题: 有一对兔子,从出生第三个月起每月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多 ...

  7. java语言编程三角形图形_编程题:编写程序输入三角形的3条边长,计算并输出... 求助一道JAVA编程题:编写一个类似记事本的图形用......

    导航:网站首页 > 编程题:编写程序输入三角形的3条边长,计算并输出... 求助一道JAVA编程题:编写一个类似记事本的图形用... 编程题:编写程序输入三角形的3条边长,计算并输出... 求助 ...

  8. java类求圆的面积周长_java编程 1. 设计一个求圆的面积和周长的类,要求:1计算当半径r,JAVA编程题。编写一个应用程序计算圆的周长和面积,设圆的半...

    问题标题 java编程 1. 设计一个求圆的面积和周长的类,要求:1计算当半径r,JAVA编程题.编写一个应用程序计算圆的周长和面积,设圆的半 2019-5-23来自ip:15.196.194.53的 ...

  9. 拼多多2020校招部分编程题

    文章目录 拼多多2020校招部分编程题 多多的排列函数 canci 拼多多2020校招部分编程题 #include <iostream> using namespace std; int ...

最新文章

  1. python电商项目源码_Python Django(WEB电商项目构建)
  2. php 检测密码,php检测密码强度
  3. Linux中wait()函数及waitpid()函数
  4. 微信小程序 WXBizDataCrypt 解密 报错
  5. python操作word文档中的图片_Python操作word文档插入图片和表格的实例演示
  6. 55个高质量的Magento主题,助你构建电子商务站点
  7. c语言对分求解方程,用C语言对一元二次方程求解
  8. 怎么画人像_画动画+耍杂技怎么玩?日本小哥串烧后居然爆火网络
  9. 有向图(3.基于十字链表的c++实现)
  10. 转:Windows Azure Platform体验(3):Azure AppFabric
  11. 大数据可视化-Tableau
  12. 完美解决Sudo doesn‘t work: “/etc/sudoers is owned by uid 1000, should be 0”
  13. 13万人12306信息泄露 小伙挨个发邮件通知
  14. 计算机主机电源接线,七个步骤教你主机电源如何接线
  15. Ubuntu下U盘变成只读解决方法
  16. OCX 添加方法和事件
  17. vs2017开发ActiveX(主讲OCX)(八)、添加常用方法
  18. c语言字符串中字母降序数字升序,将字符串以ASCII码降序排列
  19. 托科技的福,学不好外语就别学了!| 技术前沿洞察
  20. C++算法 N阶递减三角形

热门文章

  1. 添加solidworks许可证服务器,SolidWorks许可服务器问题排查
  2. 【LaTeX】LaTeX打取整符号
  3. 达梦培训总结及心得体会
  4. 淘宝标题优化技巧有哪些禁区注意事项
  5. 一年中的第几天 哔哩哔哩2020校园招聘笔试题讲解
  6. 干货分享 | GopherChina 2019北京大会PPT下载
  7. rsync运行时出现skipping non-regular file
  8. 一张显卡卖5-6万?Tesla计算卡你凭什么这么贵!
  9. idea中push代码失败问题解决
  10. 机器人与视觉,基于TCP(工具坐标)偏移