Yearly Archives: 2015


[leetcode] Sudoku Solver

Sudoku Solver Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated by the character ‘.’. You may assume that there will be only one unique solution. A sudoku puzzle… …and its solution numbers marked in red. 深搜加回溯剪枝。 class Solution { public: void […]


[leetcode] First Missing Positive

First Missing Positive Given an unsorted integer array, find the first missing positive integer. For example, Given [1,2,0] return 3, and [3,4,-1,1] return 2. Your algorithm should run in O(n) time and uses constant space. 关键是只允许常数空间。这里要突破思维定势,要改变给定数组的结构。 对于A[i],如果A[i] > 0 && A[i] <= n,则将它与A[i] – 1 位置的元素互换位置。 遍历一遍后,再从左到右找到第一个A[i] != i + […]


1. Yii — MVC 开发 — M,V,C各自的职责

Model 表示网站内在的数据结构,它的代码中不应该包括HTML,CSS等前端语言,并且不应该处理$_GET, $_POST的用户请求。前者是Controller来做的,后者是View来处理的。 它的职责是对数据库进行增删改查,并且在进行数据库操作前进行数据合法性的校验。 View 面对用户呈现数据最终的表现形式。 它应该包括HTML代码,和简单的遍历,格式化,渲染数据的PHP代码。 它不应该包括对数据库的操作和对用户请求的处理($_GET, $_POST) 他可以调用Controller或Model的成员变量或是方法,但它应该仅仅用来呈现数据。 View可以有不同的复用形式: Layout: 页面中共同的表现区域,比如header,footer就可以放在layout的view中 Partial views:partial view渲染时不会被layout装饰,也即它不会带上layout的渲染代码。它可以被用来作为页面区域的复用。 Widgets:如果partial view中需要很多的逻辑计算,那它就是一个空间(widgets)。它可以是一个HTML的标记区域。包含复杂的逻辑。 Helper class:如果view中我们需要一些代码片段来格式化数据或者生成HTML标签。我们就可以把他们放在helper class中而不是直接放在view中。Yii有一个强大的CHtml helper class可以产生常用的HTML代码。Helper Class可以放在自动加载目录中,这样它就可以不用显式地加载就可以被使用。 Controller Controller就像胶水一样,把model,view和其他components粘在一起,共同组成一个可以运行的网站应用。Controller负责直接处理用户的请求,也就是说,controller: 1. 直接访问$_GET, $_POST,和其他包含用户请求的PHP变量。 2. 创建model的实例并且控制它的生命周期。比如,在一个典型的model update的动作中,controller可以先创建model的实例;然后用用户输入填充这个model实例。在成功存储model后,controller可以把用户浏览器重定向到model的详情页。注意,实际的存储model的实现代码需要写在model中而不是controller。 3. 应该避免包括SQL语句,它应该在model中。 4. 应该避免包括HTML语句,它应该在view中。   在一个设计良好的MVC应用中,controller应该非常短小,可能只包含几十行代码。大量的代码在model中,因为它需要处理数据。并且每个应用的model的业务逻辑都不尽相同。


wr703n路由器通过串口与红板MWC通信(MEGA2560)

学会很多东西,终于解决了路由器与飞控板的通信问题。离毕设成功又近了一步。 其中,河南科技大学的仲志丹所写的《TL-WR703N的应用与开发》很有用。网上有PDF版。 其中讲了TL-WR703N如何刷入OPENWRT,如何安装USB转串口驱动,如何安装串口转发至TCP包的软件。   我的MWC板子上自带一个串口转USB芯片,其型号为SILABS-CP2012,所以需要到openwrt官网上下载 kmod-usb-serial-cp210x_3.3.8-1_ar71xx.ipk 这个驱动,并手动解决安装包依赖问题。也就是一个一个手动下载依赖包。   另外这篇博文对我帮助很大,blog.csdn.net/jiangyuexiang/article/details/7997560 它讲了如何让Arduino和Openwrt进行通信。并且提供了一个测试样例。