惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
MyScale Blog
MyScale Blog
爱范儿
爱范儿
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
Y
Y Combinator Blog
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
Martin Fowler
Martin Fowler
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
M
MIT News - Artificial intelligence
博客园 - Franky
V
Visual Studio Blog
I
InfoQ
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
博客园 - 司徒正美
L
LangChain Blog

博客园 - Nillson

传说中的Singleton.... 设计模式--简单工厂模式 策略模式 抽象类与接口 C# 实现的一个二叉树类 再谈代理 常见的排序方法 预定义,宏定义 连接符,数值运算与函数 复杂查询 数据库中的Index和View的理解 重载和重写 采用递归的方法获得一棵树的所有叶节点 .NET中的新概念整理 4月要看的书 System.Runtime.InteropServices浅见 挂个牛人 一篇关于如何写注释的文章,值得收藏 Vistual Studio 2005到Vistual Studio 2008的版本转换问题 Visual Studio 2008 的一个Bug
回顾一个面试题
Nillson · 2008-07-11 · via 博客园 - Nillson

关于算法面试了两个题目:第一个是判断两个平面内的矩形是否可能发生碰撞;第二个是要写出逐层遍历二叉树的算法。个人感觉都不是很难,下面给出我的思路和解法。

设计一个数据结构来表示矩形,并用该结构作为参数来实现判断两个巨型是否发生碰撞的函数。

struct Rectangle
    {
        public Point leftUp;
        public Point rightDown;
    }
    class HitCheck
    {
        private Rectangle rectA = new Rectangle();
        private Rectangle rectB = new Rectangle();
        public HitCheck(Rectangle recA, Rectangle recB)
        {
            rectA = recA;
            rectB = recB;
        }
        public bool IsHited()
        {
            if (rectA.leftUp.X > rectB.rightDown.X || rectA.rightDown.X < rectB.leftUp.X || rectA.leftUp.Y > rectB.rightDown.Y || rectA.rightDown.Y < rectB.leftUp.Y)//如果左矩形的右边框在右矩形左边,左边框在右矩形右边,上边框在右矩形下边,下边框在右矩形上边则不相交,反之相交。
            {
                return false;
            }
            else if (rectB.leftUp.X > rectA.rightDown.X || rectB.rightDown.X < rectA.leftUp.X || rectB.leftUp.Y > rectA.rightDown.Y || rectB.rightDown.Y < rectA.leftUp.Y)
            {
                return false;
            }
            return true;
        }
    }

设计一个算法来“逐层”遍历二叉树。