Google方法论 地图最短路径算法 人生和商业智慧 上帝喜欢笨人

本文主要是介绍Google方法论 地图最短路径算法 人生和商业智慧 上帝喜欢笨人,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. Google地图最短路径算法

  1. 假如你再开发一款地图应用,如何找到离你最近的5个加油站
  2. 很重要的第一步,解题之前,先读懂题目
    • 人和开车找位置的差别,对人来说200m都可能很远,但对开车来说,2.3公里和2.5公里没有太大差别,可能还有堵车的问题
    • 搞清楚每一个加油站和汽车的位置,以及行车方向,汽车是移动的通过GPS导航,是基于坐标、还是房屋门牌
    • 搞清楚行车方向
    • 距离不是欧几里得直线距离,两点之间的路可能有很多种,基于动态规划可以获取两点间的最短距离
    • 按距离排序,找到最近的5个加油站距离(排序是一类解决方式,但效率不是最高的)
  3. 回到问题原点:
    • 没有必要针对很远的加油站排序,浪费资源
    • 基于二叉树的细类堆数据结构,可以满足N个数据排序前K个的数据算法复杂度:第1的只需要N,第2的增加LogN次计算,第3的也是增加LogN)次计算(这里就差了一个工程数量级,淘宝求全年销售top10差距就更大)
  4. 继续回到问题原点:
    • 考虑到地图被很多人使用,在求解路径过程时候,A到E点、B到E点、C到E点,其中可能很多复用的线路,我们可以提前计算好存储起来,在求解某条最短路径时候,只需要通过服务调取出来即可,会降低很大的重复计算量
  5. 大数据思维,很重要一条就是是将所有事件统一起来,全局性的优化

1.1 归纳起来:

  1. 少做无用功
  2. 很多事情遵循统一个规律(最短路径、N中TopK、堆),学习理论需要思考理论提出的时候,要解决的应用问题是什么,搞清楚这块才有可能一通百通
  3. 解决问题时候,我们不知不觉做了很多前提假设,适当回到原点,重新读懂问题(产品思维也是强调从不同用户角度看问题,跳出局限性)
  4. 好的面试官会引导,不怕刷题的

2. 锦标赛排序算法(N个选手中选K个选手)

在这里插入图片描述

  1. 算法说明:

    • 将所有数字放入二叉树的叶子节点,按比赛规则,两两比较选出最大的
    • 对于第二大的,从所有被最大的数字淘汰的数字中选择
  2. 算法复杂度:第一名的只需要N,第二名的增加LogN次计算,第三名也是增加LogN

  3. 25人短跑比赛,有5个赛道,单轮淘汰赛,如何最快角逐金银铜前3名?

    • 前5轮:25人分5组(A1~A5 … E1~E5),角逐每组第1
      在这里插入图片描述

    • 第6轮:每组第1再赛一轮(假定A1,B1,C1,D1,E1),角逐冠军(假定为A1)
      在这里插入图片描述

    • 第7轮:由于只要前3,故D、E两组已被淘汰(如果还继续比较则为无用功),因此亚军、季军候选只需要从A、B、C组挑选(A2、A3、B1、B2、C1),再一起赛一轮可知
      在这里插入图片描述

  4. 归纳起来:

    • 少做无用功
    • 善用信息

3. 教育和学习

  1. 学好语文、数学、历史,科学:培养好沟通、个人素养,思维逻辑,看清楚自己位置,以及科学看待问题和讲道理的人
  2. 上好大学目的:提升自己格局,让自己可以在社会养活自己,从社会消费者到贡献者的必要训练
  3. 大学五训练:看透钱、学会服从和合作、认清边界、成为健全的人、树立信仰

4. 人生和商业智慧

  1. 上帝喜欢笨人:事情一件件的做,不要并行处理;善始善终,做很多半途而废的事情,不如完成一两件小事;
  2. 一生要做的五件事:恋爱结婚生子、做自己喜欢的事情做到极致、回馈、有一个信仰、给社会留下遗产
  3. 超越免费:稀缺性、时效性、个性化、可用性、可靠性、粘性(数据、用户)
  4. APRU(Average Revenue Per User): 平均用户收入,抛弃不值钱的关注,有这些时间不如找一些真正可以帮组我们的朋友,为他们提供一些价值
  5. 中美生活习惯差异:家庭观念(中国人家族、美国家庭)、做事方式(计划性和随意性)、任何人直接的距离(对隐私的看重)、父母和孩子的关系(成人即独立)、公私分明(下班私人时间看重)、主动性(很早就找到老板说明自己的职业发展计划,希望老板支持和配合)

5. 走出死循环

  1. 不要让孩子继承自己的焦虑(有欲望追求,满足不了或者凡事自己想把控);麦糠中的两粒谷子,不听也罢(GIGO,机器学习中的噪音数据);隔断或差异化地生活;
  2. 不要把上名校当成中进士,目光所及,即人生的境界;所谓的终生学习,是不断超越自己,超越别人;
  3. 多了解孩子,树立榜样(家长的懒惰,孩子会模仿);以后不在孩子面前玩手机,多一些高质量的陪伴(多陪陪孩子,了解具体情况,看看出了什么问题,多和孩子一起看看书,比上培训班要好很多了)
  4. 学习不是中彩票(相信自己的运气,不想通过努力),将教育当成人生的必须品,不用囫囵吞枣的学完,而是根据自己的兴趣一点一点的学下去,长期效应
  5. 学会生活,学会花钱(不要将钱投在阻碍在自己上升的地方),走不出贫困的人(时间和钱投入在哪了?)
  6. 不要迷恋公务员(高风险也不一定意味着高回报,但低风险一定没有高回报)

未完待续。。。

参考

  • 得到《谷歌方法论》 – 吴军
  • https://tkstorm.com/posts-list/books/wj-google-methodology/google-method-notes/
  • https://www.cnblogs.com/Acx7/p/14697436.html#:~:text=%E9%94%A6%E6%A0%87%E8%B5%9B%E6%8E%92%E5%BA%8F%E5%B0%B1%E6%98%AF%E9%80%9A%E8%BF%87%E8%AE%B0%E5%BD%95,%E7%82%B9%E7%9A%84%E5%AE%8C%E5%85%A8%E4%BA%8C%E5%8F%89%E6%A0%91%E6%8F%8F%E8%BF%B0%E3%80%82
  • https://www.jianshu.com/p/4b84adcc5d7c

这篇关于Google方法论 地图最短路径算法 人生和商业智慧 上帝喜欢笨人的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/708170

相关文章

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

Python利用GeoPandas打造一个交互式中国地图选择器

《Python利用GeoPandas打造一个交互式中国地图选择器》在数据分析和可视化领域,地图是展示地理信息的强大工具,被将使用Python、wxPython和GeoPandas构建的交互式中国地图行... 目录技术栈概览代码结构分析1. __init__ 方法:初始化与状态管理2. init_ui 方法:

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

Spring Boot中的路径变量示例详解

《SpringBoot中的路径变量示例详解》SpringBoot中PathVariable通过@PathVariable注解实现URL参数与方法参数绑定,支持多参数接收、类型转换、可选参数、默认值及... 目录一. 基本用法与参数映射1.路径定义2.参数绑定&nhttp://www.chinasem.cnbs

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

VSCode设置python SDK路径的实现步骤

《VSCode设置pythonSDK路径的实现步骤》本文主要介绍了VSCode设置pythonSDK路径的实现步骤,包括命令面板切换、settings.json配置、环境变量及虚拟环境处理,具有一定... 目录一、通过命令面板快速切换(推荐方法)二、通过 settings.json 配置(项目级/全局)三、

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键