数据开发面试题准备

背 景

最近要面试几个java&数据开发同学,稍稍准备几个题目


问 题

笔试题

1)伪代码实现:判断单链表是否有环 ;

2 ) 现有一张包括员工姓名、薪水、省份、城市、年龄、职位等字段在内的员工信息表; 请写 sql 查出:每个城市中薪水高于 2w 的所有员工信息 以及 该城市高于2w对应的员工人数?

说明:正确的查询结果集中可能有如下的记录

张三、3w、广东省、惠州市、30、java高工、100(注:假设薪水大于2w的员工中,有100名来自惠州)
李四、2.5w、广东省、惠州市、31、java高工、100
… …

算法原理

a. 操场上有两个人在跑步,同一起点:如果操场是圆的,跑的快的同学( faster ),肯定可以超越并再次追赶上跑的慢的同学( slower ),or 如果操场是直线的,跑的慢的同学,永远在后面
b. faster 和slower 相遇,链表有环,此时将slower移回头结点位置; 让faster和 slower 每次都走一步; 再次相遇,此时 slower 和 faster 所指向的位置即是环的入口

public class Solution
 {
   
    public ListNode detectCycle(ListNode head) 
    {
   
        ListNode fast = head;
        ListNode slow = head;
        while(fast != null && fast.next != null)
        
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值