树莓派从温湿度传感器DHT11读取数据

  树莓派作为一个完整的主机,除了能在上面跑系统外,也提供了40个引脚提供电路开发的功能。本来我在工作中常接触linux,但没啥机会接触硬件,正好手头上有一台raspberry 3b,本来是用来学linux相关的包的,闲的没事,网上买了几个传感器玩玩。很短时间就能上手从dht11读取数据了,虽然也看了好多文档,GPIO学起来还是挺简单的。
Continue reading

Leetcode 368. Largest Divisible Subset

题目链接:368. Largest Divisible Subset

Given a set of distinct positive integers, find the largest subset such that every pair (Si, Sj) of elements in this subset satisfies: Si % Sj = 0 or Sj % Si = 0.
If there are multiple solutions, return any subset is fine.
  题目意思也很简单,给出一个不含重复数字的数组,找到最长的一个子数组,子数组里的元素必须两两整除。
Continue reading

Leetcode 372. Super Pow

题目链接:Super Pow

Your task is to calculate ab mod 1337 where a is a positive integer and b is an extremely large positive integer given in the form of an array.
  简短的题目,让你求(a^b)%1337的值,但b是以数组的形式给出的,这就意味着b可能非常非常大。看到题目我立马想到了大数的快速幂取模,利用java自带的Biginteger应该可以很轻易做的,但仔细想想,其实java做做大数的运算非常慢的,虽然代码简单了,但实际上是让计算机去做大量的计算,所以我就放弃了这种想法,不知道直接大数快速幂取模能不能ac。

Continue reading

Leetcode 240. Search a 2D Matrix II

题目链接:Search a 2D Matrix II

Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:
Integers in each row are sorted in ascending from left to right.
Integers in each column are sorted in ascending from top to bottom.

  此题是74题Search a 2D Matrix的升级版,所给出的矩阵性质相对74题少了一条,只保证了每行和每列都是增序的,但依旧有O(m+n)的解法。

Continue reading

Leetcode 74. Search a 2D Matrix

题目链接:Search a 2D Matrix

Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:
* Integers in each row are sorted from left to right.
* The first integer of each row is greater than the last integer of the previous row.

  这道题很简单,为此专门写篇博客其实算博客凑数了。给你一个每一行每一列都是增序,且每一行第一个数都大于上一行末尾数的矩阵,让你判断某个数在这个矩阵中是否存在。

Continue reading

Leetcode 3. Longest Substring Without Repeating Characters

Given a string, find the length of the longest substring without repeating characters.

原题链接:Longest Substring Without Repeating Characters

  此题题意是找出一个不包含相同字母的最长子串,题目给出了两个例子来说明题意,但这两个例子具有误导性,让你误以为字符串中只有小写字母。还好我是心机boy,我把大写字母的情况也给考虑进去了,不过。。。。字符串里竟然有特殊字符,于是贡献了一次wrong answer,这次我把ascii字符表都考虑进去,然后就没问题了。这个故事告诫我们在编程处理问题的时候一定要注意输入数据的范围,面试中可以和面试官去确认数据范围,也能显得你比较严谨。

Continue reading

Leetcode 198. House Robber

原题链接:198. House Robber

  一句话理解题意,有个偷马贼晚上要偷尽可能值钱的马,但连续两头马被偷会触发报警,问他如何在不触发报警(不偷连续的两匹马)的情况下偷到总价值最高马,返回最高总价值。
  看到maximum,就应该想到这是应该求解最优的问题,一想到求解最优,一般除了暴力就是动态规划了。

Continue reading

Leetcode 347.Top K Frequent Elements

Top K Frequent Elements
  一句话理解题意:输出数组中出现次数对多的k个数。
  在如果用C语言来写这个题目,思路就是先按数的大小排序,然后再用一个结构体数组保存每个数的出现次次数。 因为数组已经有序了,所以只需要遍历一次数组就可以获得每个数的出现次数了。 结构体如下

strut node 
{
    int num;       //保存数组中的数
    int count;     //这个数出现的次数
}

Continue reading

萌妹子Python入门指北(四)

  这个系列其实是想给非计算机专业的人一个python的入门指导,已经写了3篇,这篇拖了好久了。我开始觉得学编程真的很难,计算机有些方面的知识真是常人所不能理解的,仅仅靠这几篇文章肯定是做不到入门的,如果各位真想学python,还是希望各位能去看更多python的例子,当然我这个系列的文章还是会继续写下去的,我尽自己可能不让本系列变成《python从入门到放弃》。
  在上一篇文章中我们讲到了选择和循环,这次我来讲下选择和循环语句更高级的用法。提前剧透下,本次课程没有新内容,只是对上篇文章的回顾和进阶,选择和循环语句的嵌套使用。

Continue reading

Leetcode 331.Verify Preorder Serialization of a Binary Tree

Verify Preorder Serialization of a Binary Tree不算一道特别复杂的题目。 题意大概是这样的:给你一个字符数组,让你判断这个数组中的值是不是一棵二叉树的先序遍历结果,其中’#’节点是空节点,无左右字节点。 原文中举了一个例子。 "9,3,4,#,#,1,#,#,2,#,6,#,#" 就是下面这棵二叉树的先序遍历结果。

     _9_
    /   \
   3     2
  / \   / \
 4   1  #  6
/ \ / \   / \
# # # #   # #

Continue reading

萌妹子Python入门指北(三)

  前两篇网站我简单介绍了python环境的安装和基本的变量及运算。到目前为止,我们没办法用python做任何事,所以这篇文章我会介绍python的判断和循环语句,据说顺序、判断、循环可以解决计算机中的任何问题。 我为什么不介绍顺序呢!因为很简单,其实就是python的每行代码按顺序执行。 其实python预发是相当容易看懂的,本文我会将示例代码翻译成汉语方便大家理解(翻译后的代码是不能执行的哦)。

Continue reading

萌妹子Python入门指北(二)

  只写了第一篇就好久没更新了,为啥?因为妹子学编程的意愿不强了,我也不能逼迫她去学。不过后来收到部分人的私信说希望继续更新下去,所以紧接上文继续萌妹子Python入门指北(一)。声明:本系列是为非计算机专业人士写的,单篇文章内容会偏少、也偏简单,本人对文章的最低要求是没任何编程基础的人都能看懂。
  如果你看了本系列一,我相信你python的环境已经装好了,所以我这不在赘述,直接开始今天的主题 python基本数据类型python基本运算符,为什么说是基本呢!因为各种编程语言里总有一些常人不能理解的东西,这些乱七八糟的鬼暂时抛开,反正一般也不会用到。

Continue reading

ubuntu下搭建wordpress站点

  之前使用的是阿里云的php虚拟空间,可以只需要把wordpress包上传后就可以了,但感觉这样不灵活,虚拟空间也只能用来搭博客,不能干其他事。 所以我买了阿里云的ecs,其实就是一个远程linux虚机主机。 为了搭建博客,我必须安装配置php环境、ftp、apache、mysql等东西,踩了一部分坑,为了让大家少踩坑,特意在此记录我在ubuntu搭建workpess的过程,作为大家参考手册。

Continue reading