Fork me on GitHub
摘要:题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。题目链接 ($length + 1)) { return false; } } ... 阅读全文
posted @ 2019-09-22 22:57 Martini 阅读 (16) 评论 (0) 编辑
摘要:复杂度 本篇基本上是原作的翻译。转载请保留本段文字。 复杂度通常会使用大 O 记号来表示,比如快速排序的平均时间复杂度是 𝑂(𝑛log(𝑛))O(nlog⁡(n))。虽然我是「理解派」,但是虽然每个算法/数据结构都理解了,不时仍有可能忘记具体某个算法/数据结构的复杂度(特别是在最好、最坏和平均 阅读全文
posted @ 2019-09-21 10:13 Martini 阅读 (22) 评论 (0) 编辑
摘要:什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。 广义的跨域: 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。 什么是同源策略? 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏 阅读全文
posted @ 2019-09-20 10:43 Martini 阅读 (28) 评论 (0) 编辑
摘要:单点登录(Single Sign On)解决方案 需求 多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 A 网站和 B 网站是同一家公司的关联服务。现在要求,用户只要在其中一个网站登录,再访问另一个网站就会自动登录,请问怎么实现? 涉及到的关键点: 这里就涉及到了 跨域认证 以 阅读全文
posted @ 2019-09-19 17:32 Martini 阅读 (701) 评论 (1) 编辑
摘要:观察者模式(Observer) 意图 定义对象间一对多的依赖关系,当对象的状态发生变化时,所有依赖于它的对象都得到通知并被自动更新。它使用的是低耦合的方式。 现在生活中离不开手机,每个人都有手机号,朋友联系你要用手机,你的银行卡也要绑定手机号等等。 那现在你换了一个手机号,朋友,银行都要知道你的手机 阅读全文
posted @ 2019-07-18 10:02 Martini 阅读 (25) 评论 (2) 编辑
摘要:摘要 版本格式:主版本号.次版本号.修订号,版本号递增规则如下: 先行版本号及版本编译元数据可以加到“主版本号.次版本号.修订号”的后面,作为延伸。 简介 在软件管理的领域里存在着被称作“依赖地狱”的死亡之谷,系统规模越大,加入的包越多,你就越有可能在未来的某一天发现自己已深陷绝望之中。 在依赖高的 阅读全文
posted @ 2019-07-09 11:56 Martini 阅读 (15) 评论 (0) 编辑
摘要:什么是 SPLSPL(Standard PHP Library)即标准 PHP 库,是 PHP 5 在面向对象上能力提升的真实写照,它由一系列内置的类、接口和函数构成。SPL 通过加入集合,迭代器,新的异常类型,文件和数据处理类等提升了 PHP 语言的生产力。它还提供了一些十分有用的特性,如本文要介绍的内置 Observer 设计模式。本文介绍如何通过使用 SPL 提供的 SplSubject和 ... 阅读全文
posted @ 2019-07-05 01:22 Martini 阅读 (62) 评论 (0) 编辑
摘要:容器,字面上理解就是装东西的东西。常见的变量、对象属性等都可以算是容器。一个容器能够装什么,全部取决于你对该容器的定义。当然,有这样一种容器,它存放的不是文本、数值,而是对象、对象的描述(类、接口)或者是提供对象的回调,通过这种容器,我们得以实现许多高级的功能,其中最常提到的,就是 “解耦” 、“依 阅读全文
posted @ 2019-07-01 14:55 Martini 阅读 (25) 评论 (0) 编辑
摘要:配置说明 全局安装phpunit代码 该代码会自动保存在 /User/你的用户名/.composer/vendor/phpunit 全局安装phpunit命令脚本 从上一步安装结果可以得知当前环境PHP版本可兼容的phpunit的版本,我这里的PHP是5.6的,最大可兼容phpunit5.7 创建 阅读全文
posted @ 2019-06-29 23:03 Martini 阅读 (237) 评论 (0) 编辑
摘要:最近发现有很多需要学习的东西,但是时间是有限的,如何更有效率的学习成了我思考的问题。Scott H Young用了12个月,通过互联网完成了四年麻省理工大学33门的计算机课程,无疑他的一些分享可以带来一些启发。 第一阶段:知识面覆盖 深入学习的第一步是对要学习的内容有个大致印象,可能需要多读几本同主 阅读全文
posted @ 2019-06-27 19:37 Martini 阅读 (62) 评论 (0) 编辑