刷题 9/15

58同城笔试
  • 运算符优先级:num++%5是多少,单目乘除位关系,逻辑三目后赋值
  • 排序的稳定性:
  • 在这里插入图片描述
  • IP协议:
  • Java的ArrayList和LinkedList的区别:
  • 在这里插入图片描述
    在这里插入图片描述
  • 前序,中序求后序遍历
  • kill某个pid的进程:kill -9 pid或者kill -15 pid,可以通过kill -l来看kill的各种信号
  • Java的try。。。catch。。。finally,finally无论如何都会执行,当 catch 体里有 return,finally 体的代码块将在 catch 执行 return 之前被执行,如果说finally中有return,那么catch的return将不执行,更多的大家可以参考大佬链接
  • 1,2,6,x,1806,则x是多少:找规律,42
  • 二分查找的查找某个数字的比较次数
  • 在一个类里面private static final String xx,在主函数中调用会打印什么?
  • 中缀表达式转成后缀表达式???
  • 进程管理命令:pstree,ps,kill,而fdisk是磁盘相关的命令
  • 3个骰子,掷出几点的概率最大:10点或者11点
  • 代码:01矩阵找疫情聚集点,二叉树层序遍历,查找缺失的最小正整数
  • 多选题:hive的外部表的内部表
    未被external修饰的是内部表(managed table),被external修饰的为外部表(external table);
    区别:
    内部表数据由Hive自身管理,外部表数据由HDFS管理;
    内部表数据存储的位置是hive.metastore.warehouse.dir(默认:/user/hive/warehouse),外部表数据的存储位置由自己制定(如果没有LOCATION,Hive将在HDFS上的/user/hive/warehouse文件夹下以外部表的表名创建一个文件夹,并将属于这个表的数据存放在这里);
    删除内部表会直接删除元数据(metadata)及存储数据;删除外部表仅仅会删除元数据,HDFS上的文件并不会被删除;
    对内部表的修改会将修改直接同步给元数据,而对外部表的表结构和分区进行修改,则需要修复(MSCK REPAIR TABLE table_name;)

    元数据就是表结构,表参数那些数据,数据文件才是真正的有效数据

感觉考了好多Java的知识,不大行

有赞一面–电话面
有一说一面试的时候最好能有所扩展的讲,并且结合一些小例子来讲,调整自己的思路,也能更好的组织语言
  • 进程和线程的区别,线程切换为什么代价比进程小,线程为什么不稳定
  • TCP和UDP的区别
  • 快速排序的过程,时间复杂度和空间复杂度
  • 快速幂知道怎么做吗?用位运算,除了用位运算还能用什么,链接,其实和位运算的思想是一样的
  • MySQL的索引,最左前缀原则,怎么优化sql
  • SQL:怎么实现查出比前一天温度高的日期
  • SELECT B.ID from Weather AS A INNER JOIN Weather AS B ON A.Temperature<B.Temperature and DATEDIFF(DAY,A.starttime,B.starttime) = 1
  • python的多线程与多进程
  • 为什么多线程无法调用多核还要用,因为IO频繁型程序可以用
  • 协程怎么实现的
  • python内存管理:垃圾回收,小整数和小字符串
  • 迭代器和生成器的区别:
  • 单例模式的实现
  • django和flask,django响应前端请求的流程是怎样的
小米一面,视频面30分钟
  • python的异步是怎么样的
  • django的处理流程是怎么样的
  • git的命令
  • 手撕二叉平衡树的判断
  • 面试官很帅,很爱笑
37互娱
  • Linux怎么启动的,Linux的进程怎么启动的
  • 怎么让一个程序开机自动执行,profile
  • 怎么看进程状态,怎么看端口状态,nginx和apache的区别
  • TCP为什么要三次握手
  • 每次握手的状态分别是什么
  • 怎么设置超时计时器,时间大概是多少
  • python的内存管理,垃圾回收
  • python怎么把代码变成字节码,链接,gcc怎么讲代码编译成可执行文件
  • 要新学一门语言,你会怎么学习
外观数列

链接:题目链接

题目描述

给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。

注意:整数序列中的每一项将表示为一个字符串。

「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:

  1. 1
    
  2. 11
    
  3. 21
    
  4. 1211
    
  5. 111221
    

第一项是数字 1

描述前一项,这个数是 1 即 “一个 1 ”,记作 11

描述前一项,这个数是 11 即 “两个 1 ” ,记作 21

描述前一项,这个数是 21 即 “一个 2 一个 1 ” ,记作 1211

描述前一项,这个数是 1211 即 “一个 1 一个 2 两个 1 ” ,记作 111221

解题思路—普通逻辑

用个二重循环就行了

代码实现
class Solution:
    def countAndSay(self, n: int) -> str:
        res = '1'
        # 注意循环的次数,只需要n-1就行了
        for _ in range(n-1):  # 控制循环次数
            i, tmp = 0, ''
            for j, c in enumerate(res):
                if c != res[i]:
                    tmp += str(j-i) + res[i]
                    i = j
            res = tmp + str(len(res) - i) + res[-1]
        return res
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值