题目分析
这个题目的数据量是经典的BFS和DFS问题,这类问题难点较小,是笔试面试中常考的题型,也是小伙伴们必须要掌握的。为什么要介绍这个题目呢?是因为这个题目还使用到状态压缩和位运算的知识。
很久没有看到这种数学题了,数学题是一些大厂的偏爱,如腾讯和阿里,如果有小伙伴想去大厂,可以多多练习。本题的数据量非常大,最大为1e18,因此线性复杂度以上的解法都会TLE,因此只能寻找$O(1)$或者$O(log(n))$时间复杂度的方法。
在前面已经介绍了Kotlin的运算符,这里主要介绍Kotlin的流程控制,包括if条件语句,when条件语句,while循环,do…while循环,for循环,以及continue和break跳转语句,尤其要注意when语句和switch语句的区别。
接下来是一段华为的社畜生活,在IT的市场中,移动端扮演着越来越重要的角色。谈到移动端,必然无法离开Android和IOS操作系统。之前没有接触过Android开发,这里趁着入职之前的一段时间,学习一下Android开发。Kotlin由JetBrains公司开发,于2016年2月15日发布Kotlin v1.0,与Java语言完全互通,并且具有Java语言暂不支持的新特性。在2017年谷歌宣布在Android Studio IDE中支持Kotlin,在2019年谷歌正式宣布Kotlin语言是Android应用程序开发人员的首选语言。在短短的5年时间里,Kotlin受欢迎程度也在不断提高。接下来的一段时间给大家介绍Kotlin的一些基本语法,因为没有多年的Kotlin开发经验,在这里只能点到为止,带着大家入门,如何提升代码能力和实际开发能力,还需要小伙伴们多多刷题,多多进行工程实践。
又遇到困难题了,心态崩了啊。小伙伴们不要害怕困难题,在面试的时候遇到困难题,不会做是正常的,可以向面试官询问解题思路或者更换题目,虽然不推荐这样做,但是也总比浪费面试时间更好,如果在那里啃半天也没有想出来,基本上是挂了。如果是笔试遇到了困难题,没用思路,可以先跳过这个题目,最后有时间再做。这个题目和前两天遇到的题目有些类似,都是可以回溯求解,但是时间复杂度又很大的题型。遇到这类题,我们首先要去想动态规划