百度面试算法题

在一组排序数中,给定一个数,返回最接近且不大于这个数的位置,要求时间在O(logn)
用二分查找,low和high相差为1时,low即为所求结果的下标。

static int BSearch(int[] num, int key) {
        if(key>num[num.length-1]){
            return num[num.length-1];
        }
        int low = 0;
        int high = num.length - 1;
        int mid;
        while (low <= high) {
            if (high - low <= 1)
                break;
            mid = (high + low) / 2;
            if (num[mid] > key) {
                high = mid;
            } else {
                low = mid;
            }
        }
        return num[low];
    }
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
通用算法工程师面试通常涉及以下几个方面: 1. 数据结构和算法面试官通常会要求候选人展示对常见数据结构(如数组、链表、栈、队列、树、图等)的理解以及常见算法(如排序、查找、动态规划等)的实现和优化。 2. 复杂度分析:候选人需要能够分析算法的时间复杂度和空间复杂度,并且能够根据具体情况选择合适的算法。 3. 编程能力:面试官可能会要求候选人在白板上实现一些常见算法或解决一些编程问,以评估其编程能力和解决问的能力。 4. 系统设计:面试官可能会要求候选人设计一个具有一定规模和用户量的系统,考察其系统设计能力和架构思维。 5. 算法优化和性能调优:面试官可能会给候选人一些具体的场景或问,要求候选人能够思考并提出相应的算法优化方案,并分析其优缺点。 6. 数学基础:候选人需要具备一定的数学基础,如概率统计、线性代数等,以应对一些与算法相关的数学问。 7. 面试实现和解答:面试官可能会提供一些具体的面试,要求候选人进行实现或解答,以考察其对算法的理解和应用能力。 通过准备和学习相关的算法和数据结构知识,进行刷练习,并思考和总结常见的算法思想和优化方法,候选人可以提高自己的通用算法工程师面试能力。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [百度地图开发java源码-OfferTerminator-Documents:偏向于软件工程师的面试资料整理](https://download.csdn.net/download/weixin_38599518/19411826)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [算法工程师面经 —— python 面试常问问](https://blog.csdn.net/qq_46450354/article/details/125585771)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值