2018年12月4日

数组下标为什么是从0开始的,而不是1?

摘要: 依稀记得大一开始学习C语言的时候,对于数组下标从0开始这一点是非常别扭难以适应的,感觉这就是反人类的设计。直到今天才了解这背后为什么这样设计的原理。 为了解释清楚这个原因,我们来认识数组的相关特性,据此来探索它底层的一些东西。 随机访问 为什么数组能支持随机访问呢,我们先来看看数组专业定义。 这里有 阅读全文

posted @ 2018-12-04 23:43 哟,写bug呢?? 阅读(2423) 评论(0) 推荐(0) 编辑

2018年11月8日

网络基础

摘要: 1、 计算机的主要功能是:资源共享 2、 IP服务的三大特点:不可靠,面向非连接,尽最大努力交付 3、 4、 5、 A属于IP地址 B属于域名 C属于URL D属于域,域名必须由‘.’分隔 6、 http、2源自SPADY/2,设计目标是降低 50% 的页面加载时间。 相比 HTTP/1.x,HTT 阅读全文

posted @ 2018-11-08 11:22 哟,写bug呢?? 阅读(254) 评论(1) 推荐(1) 编辑

2018年11月5日

贪心算法

摘要: 一、落单的数 二、 Majority Element 加油站 跳跃游戏 阅读全文

posted @ 2018-11-05 16:22 哟,写bug呢?? 阅读(223) 评论(0) 推荐(0) 编辑

2018年11月2日

深度优先搜索

摘要: 二叉树创建 验证二叉搜索树 阅读全文

posted @ 2018-11-02 09:48 哟,写bug呢?? 阅读(204) 评论(0) 推荐(0) 编辑

2018年10月31日

python pow函数底层实现原理

摘要: 一、最朴素的方法和pow比较 python中求两个a的b次方,常见的方法有:pow(a,b),a b。那么这两个是否有区别,而且他们底层是怎么实现的呢? 最容易想到的方法就是: 循环b次,每次都乘以a 。但是究竟底层是不是这样实现的呢? 下面先从时间上来判断他们之间的关系。 上面的结果输出如下: 2 阅读全文

posted @ 2018-10-31 20:27 哟,写bug呢?? 阅读(4033) 评论(0) 推荐(0) 编辑

数字与二进制运算

摘要: 1、O(1)时间检测2的幂次 2.不同的二叉查找树 思路:卡特兰数。具体介绍可以参考另外一个博文 https://www.cnblogs.com/linshuhui/p/9678180.html class Solution: """ @param n: An integer @return: An 阅读全文

posted @ 2018-10-31 16:47 哟,写bug呢?? 阅读(261) 评论(0) 推荐(0) 编辑

洗牌算法

摘要: 一、最朴素的算法 首先先考虑要求,正常来说洗牌,就是保证每一个位置出现每一张牌的概率是一样的。有n张牌,任何一种系列出现的概率应该是1/(n!) 思路: 1. 初始化原始数组和新数组,原始数组长度为n(已知); 2. 从还没处理的数组(假如还剩k个)中,随机产生一个[0, k)之间的数字p(假设数组 阅读全文

posted @ 2018-10-31 16:40 哟,写bug呢?? 阅读(192) 评论(0) 推荐(0) 编辑

2018年10月30日

Lintcode数字与二进制运算

摘要: 1、判断某个数是否是2的幂次方 2、尾部的0 阅读全文

posted @ 2018-10-30 08:35 哟,写bug呢?? 阅读(131) 评论(0) 推荐(0) 编辑

2018年10月29日

lintCode二分查找

摘要: 1、x 的平方根 2、搜索插入位置 6、木材加工 阅读全文

posted @ 2018-10-29 11:25 哟,写bug呢?? 阅读(168) 评论(0) 推荐(0) 编辑

2018年10月27日

Lintcode数组

摘要: 1、删除元素 2.子数组之和 3.删除排序数组中的重复数字 4、合并排序数组 5、两数之和 9、数组划分 思路:快排思想 class Solution: """ @param nums: The integer array you should partition @param k: An inte 阅读全文

posted @ 2018-10-27 20:28 哟,写bug呢?? 阅读(149) 评论(0) 推荐(0) 编辑

导航