算法——二分法查找(binarySearch)
二分法查找,也称为折半法,是一种在有序数组中查找特定元素的搜索算法。 二分法查找的思路如下: (1)首先,从数组的中间元素开始搜索,如果该元素正好是目标元素,则搜索过程结束,否则执行下一步。 (2)如果目标元素大于/小于中间元素,则在数组大于/小于中间元素的那一半区域查找,然后重复步骤(1)的操作。 (3)如果某一步数组为空,则表示找不到目标元素。 二分法查找的时间复杂度O(logn)。 非递归算…
二分法查找,也称为折半法,是一种在有序数组中查找特定元素的搜索算法。 二分法查找的思路如下: (1)首先,从数组的中间元素开始搜索,如果该元素正好是目标元素,则搜索过程结束,否则执行下一步。 (2)如果目标元素大于/小于中间元素,则在数组大于/小于中间元素的那一半区域查找,然后重复步骤(1)的操作。 (3)如果某一步数组为空,则表示找不到目标元素。 二分法查找的时间复杂度O(logn)。 非递归算…
明确场景: 从github上clone别人的仓库到本地 [git clone] ,并在本地进行修改,将修改后的项目文件更新到github上的仓库 [git push] 。 具体步骤 本地创建一个文件夹,表示我需要将仓库clone到此文件夹下。 cd到该文件夹后使用 git clone https://github.com/Scofield666/TestGitOnMac.git 结果如下,此时仓库…
随着CoreOS和Kubernetes等项目在开源社区日益火热,它们项目中都用到的etcd组件作为一个高可用、强一致性的服务发现存储仓库,渐渐为开发人员所关注。在云计算时代,如何让服务快速透明地接入到计算集群中,如何让共享配置信息快速被集群中的所有机器发现,更为重要的是,如何构建这样一套高可用、安全、易于部署以及响应快速的服务集群,已经成为了迫切需要解决的问题。etcd为解决这类问题带来了福音,本…
Linux中的计划任务 知识要点 计划任务的意义 计划任务分类 用户计划任务crontab 系统计划任务 计划任务使用注意事项 anacron服务介绍 计划任务的意义 1.计划任务 创建和管理在指定时间自动执行的任务 2.注意事项 要使任务计划在指定时间自动运行,计划任务的服务必须是启动的 3.计划任务分类 使用at命令调用atd进程设置在某个特定的时间,执行一次性任务 使用crontab命令…
Python是世界上最容易学的编程语言,从没接触过编程的人也能搞定。 从现在开始跟随极客学院成长计划,每天进取,怒赞自己。 给大家整理的这套 python 学习路线图,按照此教程一步步的学习来,肯定会对 python 有更深刻的认识。或许可以喜欢上 python 这个易学,精简,开源的语言。让大家能真正打开 python 的大门,进入这个领域。现在互联网巨头,都已经转投到人工智能领域,而人工智能最…
安装pycocotools时,首先遇到的是错误1,经过一番折腾终于解决。但又出现错误2,唉接着解决。。。 在windows下可能会出现以下错误: 错误1: 解决办法: 因为没有Visual C++ 编译环境。解决方式: 安装Build Tools for Visual Studio 2017 (2015版及以后就行,不需要安装整个vs) 安装过程我都选择了默认安装,安装成功,问题解决。 错误2: …
如果想把项目中的日志实现统一成slf4j的话,则需要把第三方一些依赖包中的日志包去掉,例如Spring中的jcl,或者其他的像早期的log4j,如果直接排除,则程序肯定会运行报错,此时需要引入适配包,这个适配包就是一个狸猫换太子包,这个包有着和jcl和log4j一摸一样的包名和类名,所以在程序动态运行过程中,只需要关心classpath下有没有这个类即可,并不需要知道这个类在哪个jar包,正因如此…
大致思路 用一个二维数组来代表各个点的状态: 如地图空的位置用0表示,食物位置用-1来表示;1、2、3分别表示蛇的第一部分,第二部分,第三部分…… 下图是一个5*8的数组,表示了一个5*8的地图,一个长度为5的蛇,和一个用-1表示的食物的位置。 通过_kbhit()获取键盘输入,控制蛇头方向; 判断结果; 把它打印到控制台; 循环这个过程直至游戏结束。 以下是代码: #include #inclu…
Git分支管理背景 Git 是当下最流行的版本管理系统,阮一峰在自己的博文中提到过:“如果你严肃对待编程,就必定会使用版本管理工具”。 Git 操作是基于分支的,当下环境衍生出多种优秀的分支管理策略,其目的就是要保证不同分支各司其职,避免多人协作过程中代码冲突、代码版本出现问题。在日常迭代过程中,每个公司都有一套自己的分支管理规范,但万变不离其宗,都有 Vincent Driessen 提出的 G…
1. 概述 假设我们存在这样的需求:我们需要存储大量的数据,且需要在查询上要求更高的效率。似乎前面提到的数据类型已不满足我们现有的需求,在本篇文章中,我们引入一个全新的概念:set数据类型。与hash存储结构类似,但是仅存储键,不存储值(nil),并且不重复存储。 本篇是该系列文章的第七篇,你可以通过以下链接阅读之前的内容 01-redis入门知识第1篇-redis简介 02-redis入门知识第…