春招惨痛,目前仍颗粒无收。
做了阿里、字节、华为的笔试,除了字节是LeetCode风格,阿里华为都偏向ACM模式,而这正是我不熟悉的。
前车之鉴,后事之师,教训如被人接受,此经验可贵十倍。因此记录下笔试题目。

1、新员工的答题情况(100分)

新员工入职公司,参加考试,其中判断题10道(每题2分),单选题10道(每题4分),多选题5道(每题8分)。只能顺序作答,答完题不知道对错,答对得分,答错不得分。答错累计三道,则终止考试。输入考试结果分数,输出答题可能情况个数。

补充:关于回溯和DFS

在具体的做题时,似乎回溯总是和DFS一起出现,但两者到底是什么关系呢?
借鉴知乎用户Aetherus的答案 回溯和DFS的区别,
“回溯的关键不在于递归,而在于状态。在回溯算法向前的每一步,你都会去设置某个状态,而当向前走走不通的时候回退,此时需要把之前设置的状态撤销掉。DFS 只是找某个或某些满足条件的东西而已,找到就返回,找不到拉倒,没状态啥事儿。”
语言淳朴,浅显易懂。

所以本题采用回溯的思想,以DFS为工具

public class Main {// 按顺序的题目分数值public static int[] score = {2,2,2,2,2,2,2,2,2,2,4,4,4,4,4,4,4,4,4,4,8,8,8,8,8};private static int N; // 输入的最终成绩private static int sum; // 存储答题情况值用于输出public static void main(String[] args) {Scanner sc = new Scanner(System.in);N = sc.nextInt();backTrace(0, 0, 0);System.out.print(sum);}/* @parameter* index对应题目序号* score对应当前分数* err表示累计错误题数*/public static void backTrace(int index, int score, int err) {if (err >= 3) return;// 满足输入分数if (score == N) {sum++; // 答题情况+1return;} // 不满足且不可能再满足输入分数if (score > N) return;for (int i = index; i < score.length; i++) {// 首先假设这题答对了score += score[i];backTrace(i + 1, score, err); // DFS,接着往下做// 上面的函数返回了,说明要么已经符合条件,sum自增1// 要么不满足输入分数或error达到三个,返回了score -= score[i]; // 把前面加上分数的减去err++; // 错误题数自增}}
}

2、按照路径替换二叉树(200分)

数据输入有三行:
第一行以[1,2,0,3,5]构造原二叉树(0表示无结点,所以1是根结点,2是左子节点,无右子节点,3、5分别是2的左右子节点)。
第二行以\1\2\5指定要替换的根结点(假设同一父节点的两子节点的值不能相同)。
第三行给出要替换进去的二叉树[4,7,8]。
题目要求输出替换完后的二叉树,但与构造时不同,输出的二叉树构造数组不包含0,即应输出[1,2,3,4,7,8]。

华为笔试4.20记录相关推荐

  1. 华为畅享8的悬浮窗在哪里_1299元起,更大超清屏幕+强劲续航 华为畅享20 SE发布...

    2020年12月23日,华为发布了畅享20系列新品--华为畅享20 SE.延续畅享系列的潮美设计风格,并持续提升用户体验,华为畅享20 SE在千元机的价位上,带来了6.67英寸FHD+高清大屏.22. ...

  2. 体验华为操作系统 openEuler 20.03 LTS linux

    安装华为linux openEuler 20.03 LTS 一直在用centos ,但redhat马上不再对其支持更新了,刚好华为发行了社区版linux(ps:难道是centos倒下,华为openEu ...

  3. 华为 社招 C语言笔试,华为笔试C语言笔试题之3

    <华为笔试C语言笔试题之3>由会员分享,可在线阅读,更多相关<华为笔试C语言笔试题之3(10页珍藏版)>请在人人文库网上搜索. 1.C 语言笔试题之34. static 有什么 ...

  4. 2020.9.9华为笔试记忆:KMP+记忆化搜索+字典树

    2020.9.9华为笔试 当然,出现在我博客中的笔试都不是我自己的笔试(人家也不给我发笔试链接,小声bibi,诶,好像我也没投,hhhahahha 记者:为什么要做笔试? 我:生活无聊了喏,肯定要做啊 ...

  5. 旅行商问题(华为笔试蜜蜂采蜜问题)

    旅行商问题是算法中比较难的一类题目,也是比较综合的题目之一,其变种的题目也非常灵活,应用场景非常广泛,前段时间在做华为笔试题目的时候,遇到了一个与旅行商问题相关的蜜蜂飞行采花粉问题: 题目大意是:一个 ...

  6. 【转载】旅行商问题(华为笔试蜜蜂采蜜问题)

    本文转载链接: https://blog.csdn.net/qq_29592167/article/details/90243408 感谢来自Raintin_coder的分享 旅行商问题是算法中比较难 ...

  7. 华为笔试——字符串排序、去重、反转等算法(C语言版)

    最近刷题记录太多,字符串又是华为笔试非常爱考的知识点,设计字符串的读入.存取.字符的判断.比较.去重.排序等操作.根据华为近几年笔试中出现的题目,依次剖析每道题目的思想和算法实现. 注:题目的编号对应 ...

  8. 2022.9.7华为笔试

    第一题: public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (scanner ...

  9. 20200422华为笔试

    20200422华为笔试 第一题 题目描述 输入描述 输出描述: 输入 输出 思路 代码 第二题 题目描述 输入描述 输出描述: 输入 输出 说明 思路 代码(Python3) 第三题 题目描述 输入 ...

最新文章

  1. Android获取手机应用程序包的信息
  2. 深入浅出组合逻辑电路(3)常见的几种编码器
  3. Eclipse报错 due to restriction on required library C:/Java/jdk1.6.0_10/jre/lib/rt.jar 解决方案
  4. [LeetCode] 234. Palindrome Linked List_Easy tag: Linked List
  5. sql 两大类 DDL数据定义语言 和DCL数据控制语言
  6. 微软 服务器系统,微软正在开发Windows Server 2022服务器系统
  7. Gradle 下载失败的问题解决
  8. 树形结构的处理——组合模式(一)
  9. Unity Android 真机调试 + 夜神模拟器调试 + ADB Logcat
  10. DLink624+A拨号失败的问题
  11. JAVA中两个char类型相加_5.16--java数据类型转换及杂记
  12. FPGA 30 综合数字ADC /DAC 信号发送采集系统设计(综合项目设计)
  13. python用matplotlib画五角星_绘图:Matplotlib
  14. 简单聊聊SOA和微服务
  15. 如何与不使用Apple产品的朋友共享iCloud照片
  16. ChatGPT:chatGPT本地部署、运行和接口调用
  17. 博文视点Web 2.0 大局观
  18. IBM Websphere MQ 基础0:Linux下安装IBM MQ 7.5
  19. 关于视频播放的一些总结
  20. 《机器学习》西瓜书课后习题作业笔记

热门文章

  1. C语言实现状态机(一)
  2. 功率放大模块如何选择(安泰功率放大器模块产品介绍)
  3. html5画布作品,HTML5 Canvas 画布(示例代码)
  4. Microsoft Edge 从老版本升级到chromium 内核后,打开所有网页报此页存在问题
  5. 16进制 BCC校验(异或校验) Java代码
  6. C语言define定义数组和函数指针
  7. 2020年10月蓝桥杯(软件类)省赛:题目+解答
  8. 程序员辞职理由_我成为程序员的5大理由
  9. win7 cmd 下 切换到其他盘符
  10. 苹果添加APP ID和APP证书