凡 若

初心 读书 知新 生活

题目

在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
难易程度:easy

阅读全文 »

题目

找出数组中重复的数字。
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
难易程度:easy

阅读全文 »

简介

image
这是一本“人命关天”的书。
艾滋病、SARS、埃博拉、寨卡,文明与病毒之间,只隔了一个航班的距离。
来自热带雨林的危险病毒,可在24小时内乘飞机抵达地球上的任何城市。航空线路连接了全世界的所有城市,构成网络。埃博拉已经进入网络,开始环球旅行。
这不只是一个病毒的故事,它关系着人类的无知、贪婪、勇气和牺牲,以及面对大自然时的敬畏。
真实,远比想象更惊悚。

普雷斯顿采访1967-1993年间大量埃博拉病毒亲历者,再现人类历史上病毒灾难来袭的真实场景。
1989年11月,美国弗吉尼亚州的雷斯顿城发生过埃博拉病毒事件。这个小城位于华盛顿特区以西24公里处,晴朗的天气里人们都能在雷斯顿城的高层建筑上望见华盛顿纪念碑那米黄色的尖顶。这里的灵长类动物检疫中心接收了100只从菲律宾进口的食蟹猴。没过几天,两只死亡。
理论上,少量动物死亡是很常见的。令人不安的是,不到一个月,又有29只猴子死亡。随着猴子死亡相继增加,科研人员渐渐逼近真相:猴子感染了一种未知的病毒。在大量研究下,他们认为这是埃博拉病毒。最后,美军出动将大楼封锁,所有动物处死。幸运的是,在目前已知的五种埃博拉病毒中,这种雷斯顿型亚型只感染灵长类动物,让人类逃过一劫。
1994年,美国作家理查德.普雷斯顿基于这一史料,采访大量亲历者后出版非虚构作品。

总结&拓展

全书介绍了丝状病毒的几种比较早期的病毒发现爆发的过程。丝状病毒包含的属有:

  1. 马尔堡病毒
  2. 埃博拉病毒

其中埃博拉病毒包括:

  1. Zaire ebolavirus(EBOV) (扎伊尔埃博拉病毒, 1976)- 标准亚种 (致死率高达90%)
  2. Sudan ebolavirus(SUDV) (苏丹埃博拉病毒, 1976) (致死率高达68%)
  3. Reston ebolavirus(RESTV) (雷斯顿埃博拉病毒, 1989)(所有感染者都为猴类,无人类感染)
  4. Taï Forest ebolavirus(TAFV) (科特迪瓦埃博拉病毒, 1994)
  5. Bundibugyo ebolavirus(BDBV) (本迪布焦埃博拉病毒, 2007)
  6. Bombali ebolavirus(BOMV) (邦巴利埃博拉病毒, 2018)
阅读全文 »

题目

给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

阅读全文 »

题目

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1)额外空间的条件下完成。

阅读全文 »

题目

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
难易程度:easy

阅读全文 »

Redis作为基于键值对的NoSQL数据库,具有高性能、丰富的数据结构、持久化、高可用、分布式等特性,同时Redis本身非常稳定,已经得到业界的广泛认可和使用。 掌握Redis已经逐步成为开发和运维人员的必备技能之一。下面分享一下几本本人看过的Redis书籍,希望对大家有所帮助。

Redis开发与运维

image
本书全面讲解Redis基本功能及其应用,并结合线上开发与运维监控中的实际使用案例,深入分析并总结了实际开发运维中遇到的“陷阱”,以及背后的原因, 包含大规模集群开发与管理的场景、应用案例与开发技巧,为高效开发运维提供了大量实际经验和建议。本书不要求读者有任何Redis使用经验,对入门与进阶DevOps的开发者提供有价值的帮助。主要内容包括:Redis的安装配置、API、各种高效功能、客户端、持久化、复制、高可用、内存、哨兵、集群、缓存设计等,Redis高可用集群解决方案,Redis设计和使用中的问题,最后提供了一个开源工具:Redis监控运维云平台CacheCloud。

Redis 深度历险:核心原理与应用实践

image
Redis 是互联网技术架构在存储系统中使用得最为广泛的中间件,也是中高级后端工程师技术面试中面试官最喜欢问的工程技能之一,特别是那些优秀的互联网公司,通常要求面试者不仅仅掌握 Redis 基础用法,还要理解 Redis 内部实现的细节原理。《Redis 深度历险:核心原理与应用实践》作者老钱在使用 Redis 上积累了丰富的实战经验,希望帮助更多后端开发者更快、更深入地掌握 Redis 技能。

《Redis 深度历险:核心原理与应用实践》分为基础和应用篇、原理篇、集群篇、拓展篇、源码篇共 5 大块内容。基础和应用篇讲解对读者来说最有价值的内容,可以直接应用到实际工作中;原理篇、集群篇让开发者透过简单的技术表面看到精致的底层世界;拓展篇帮助读者拓展技术视野和夯实基础,便于进阶学习;源码篇让高阶的读者能够读懂源码,掌握核心技术实力。

Redis设计与实现

image
本书全面而完整地讲解了Redis的内部机制与实现方式,对Redis的大多数单机功能以及所有多机功能的实现原理进行了介绍,展示了这些功能的核心数据结构以及关键的算法思想,图示丰富,描述清晰,并给出大量参考信息。通过阅读本书,读者可以快速、有效地了解Redis的内部构造以及运作机制,更好、更高效地使用Redis。

本书主要分为四大部分。第一部分“数据结构与对象”介绍了Redis中的各种对象及其数据结构,并说明这些数据结构如何影响对象的功能和性能。第二部分“单机数据库的实现”对Redis实现单机数据库的方法进行了介绍,包括数据库、RDB持久化、AOF持久化、事件等。第三部分“多机数据库的实现”对Redis的Sentinel、复制、集群三个多机功能进行了介绍。第四部分“独立功能的实现”对Redis中各个相对独立的功能模块进行了介绍,涉及发布与订阅、事务、Lua脚本、排序、二进制位数组、慢查询日志、监视器等。本书作者专门维护了 www.redisbook.com 网站,提供带有详细注释的Redis源代码,以及本书相关的更新内容。

总结

阅读全文 »

题目

给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。
难易程度:Medium

阅读全文 »

题目

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
难易程度:easy

阅读全文 »
0%