上次写的博客,介绍了下刚拿到galileo开发板的时候如何进行折腾。
上次折腾完后,因为我发现galileo本身和一个装着linux的arduino/pc一样,那么用它来实现一些物联网应用会比较简单,又赶上本学期的工程设计课作业,所以初步实现了一个能用微信监测室内温度和拍摄室内照片的小型物联网系统。

参考:

《鼓捣Galileo开发板的一些吐槽》( http://blog.jcix.top/2015-11-04/introduce_galileo/ ) 阅读全文

题目

Given n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water.

Note: You may not slant the container.

  • 大意:有n个非负的整数a1到an,ai每个代表i处的高度,(i,ai)和(i,0)是线段i的两个端点,所有任意两个线段i可以和x轴组成一个容器,找出能装最多水的容器。注意:不能倾斜容器。

思路

这道题所求的容积和容器下边长度(两个线段的横坐标距离)和侧边最小长度有关(类似木桶效应)。
所以容积 = abs(i2 – i1) * min(ai1, ai2),我们要找出的就是用那两条线段做边界时,这个容器最大,求出这个最大的容积。 阅读全文

题目

Write a function to find the longest common prefix string amongst an array of strings.

  • 大意: 写一个函数,找到一组字符串的公共最长前缀。

思路

我的:定义一个不断更新的变量,存储当前的最长前缀,循环时加以一定的优化,比如如果下一个字符串比当前的前缀还长,那么可以截断前缀后在进行比较。
参考的:这道题在discuss上看到了一些运用了python语法的解法,用到了zip,reduce,set等python特有的语法,顺便贴出。

代码

原创(Python):

阅读全文

题目

Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.

For example,
Given [0,1,0,2,1,0,1,3,2,1,2,1], return 6.
img

  • 大意: 有n个非负整数,代表地势图的高度,如图,计算下雨后这个地形能存多少雨水。

思路

这道题和第10题非常像,分别从最左边和最右边开始,定义两个游标,移动到过程中,记录左边的最大值和右边的最大值,然后用两个最大值中的小值减去地形高度,就是所积的雨水值(类似第10题思路)。 阅读全文

这几天折腾伽利略开发板,写下一些吐槽,以便以后再看到这篇博客,仍然能记起这些值得吐槽的地方。。。也希望看到这篇博客的人能够因此少些吐槽( ╯□╰ )。。网上其实是有不少资源的,但是相对其他更热门的板子,显然找资料并不是和喝白开水一样简单,由于我表达能力较差,所以准备采用简述+大量站外链接的形式,给出一个希望不会让人误入歧途的引导。。。

介绍

Intel Galileo点击查看中文官网),是一个兼容Arduino的x86平台的开源硬件产品。个人感觉应当注意的是,特点就是兼容Arduino和x86,这样我们既能够利用丰富的Arduino软硬件及社区资源,又能够在上边运行linux甚至windows系统,做出更复杂的系统。

相关介绍:
《x86 版的 Arduino 来了,Intel Galileo 开发板的体验、分析和应用【超长文多图】》(http://www.ifanr.com/388835 ) 阅读全文

题目

The string “PAYPALISHIRING” is written in a zigzag pattern on a given >number of rows like this: (you may want to display this pattern in a >fixed font for better legibility)

P A H N
A P L S I I G
Y I R
And then read line by line: “PAHNAPLSIIGYIR”
Write the code that will take a string and make this conversion given a >number of rows:

string convert(string text, int nRows);
convert(“PAYPALISHIRING”, 3) should return “PAHNAPLSIIGYIR”. 阅读全文