亚马逊软件开发面经

本文分享了亚马逊软件开发的面试经历,包括一面和二面的题目。一面涉及圆和矩形的重叠判断,二面则涵盖数组操作和二叉树的右视图问题。解题策略包括双指针、二分查找等算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一面

1.1401. 圆和矩形是否有重叠

只要圆心在如图区域内则表示有解,否则没有。

  int distance(int x1,int y1,int x2,int y2){
        return (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
    }
    bool IncludeRectangle(int x,int y,int x1,int y1,int x2,int y2){
        if(x>=x1&&x<=x2&&y>=y1&&y<=y2)
            return true;
        return false;
    }
    bool checkOverlap(int radius, int x_center, int y_center, int x1, int y1, int x2, int y2) {
      //画出如果矩形 有三个部分
      //1.矩形1:y轴分别+r/-r扩大组成的,即是(x1,y1+r) (x2,y2-r) 圆心在这个矩形里
      //2.矩形2:x轴分别扩大+r/-r,即是(x1-r,y1),(x2+r,y2) 圆心在这个矩形里
      //3.分别以(x1,y1),(x2,y2),(x1,y2),(x2,y1)为圆心的1/4 圆心距离这四个圆心小于r
      //否则不相交
      if(Inc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值