计划发起一个练习算法项目

栏目: 编程工具 · 发布时间: 5年前

内容简介:本来这篇计划写《二分查找就是这么简单》的,结果发现之前已经写过一篇《既然写过了,这里就不重复写了。这里计划说点其他的事情。

一、背景

本来这篇计划写《二分查找就是这么简单》的,结果发现之前已经写过一篇《 从零开始学算法:4二分查找 》了。

既然写过了,这里就不重复写了。

这里计划说点其他的事情。

二、二分查找练习题

二分查找这个算法,理解原理没啥用,主要是多练习。

各种二分查找的姿势都练习一下。

比如最裸的二分查找,给一个有序的数组,判断一个数字是否存在。

题目: 704. Binary Search

接着就是二分查找的基本应用。

比如整数开平方根、猜数字大小等。

题目分别是:

1.69. Sqrt(x)

2.374. Guess Number Higher or Lower

接着是稍微高级的二分查找。

比如循环有序数组查找、找到一个数字的左边界和右边界、最接近的几个数字等。

题目分别是:

1.33. Search in Rotated Sorted Array

2.34. Find First and Last Position of Element in Sorted Array

3.658. Find K Closest Elements

再后面,就需要做综合体来练习了。

三、互动编程

对于编程,尤其是学习算法,是最枯燥的一件事情。

不仅学习理论枯燥,实践敲代码也很枯燥。

为了提升大家的兴趣,我有一个想法,计划发起一个项目:Leetcode 互动编程。

具体做法是:大家可以跟着我做 Leetcode 的节奏来做题。

当你每当做完一些题时,可以把这些题提交到我发起的这个 leetcode-solutions 项目上。

所有的题都在 problemset 目录下,每道题一个目录,目录名就是 leetcode 里面题目链接里的名字。

计划发起一个练习算法项目

而在这道题里面,由三部分代码组成。

1.readme.md 题目的简单介绍,以及解决思路

2.two-sum.cpp 群主的代码

3.xxx-two-sum.cpp 参与者提交的代码

大概结构如下图:

计划发起一个练习算法项目

四、最后

我不知道会有多少人参加这个项目,但是后面几天我会整理一个完整的教程,来说明怎么参与这个项目。

这个项目不要求每天来做题,你随时都可以做题然后把代码合并到这个项目来,也可以随时放弃参与这个项目。

所以如果你想学习算法,就可以加我的微信(tiankonguse),来加入这个项目吧。

如果你有什么想法,也可以留言或者微信告诉我,一起来改进这个项目。

-EOF-


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Mechanics of Web Handling

The Mechanics of Web Handling

David R. Roisum

This unique book covers many aspects of web handling for manufacturing, converting, and printing. The book is applicable to any web including paper, film, foil, nonwovens, and textiles. The Mech......一起来看看 《The Mechanics of Web Handling》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具