2012年4月23日

【算法设计】最大子矩阵问题

摘要: 一,最大子矩阵问题: 给定一个n*n(0<n<=100)的矩阵,请找到此矩阵的一个子矩阵,并且此子矩阵的各个元素的和最大,输出这个最大的值。Example:0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2其中左上角的子矩阵:9 2-4 1-1 8此子矩阵的值为9+2+(-4)+1+(-1)+8=15。二,分析 子矩阵是在矩阵选取部份行、列所组成的新矩阵。例如它亦可用A(3;2)表示,显示除掉第3行和第2列的余下的矩阵。这两种方法比较常用,但还是没有标准的方法表示子矩阵。以上为维基百科上给出的定义,感觉跟此题的定义不是一回事呢? 我们首先想到的方法就是穷举一个. 阅读全文

posted @ 2012-04-23 17:13 小田的专栏 阅读(9238) 评论(0) 推荐(1) 编辑

【算法设计】最大子段和问题解析(对应算法第三题)

摘要: 一,题目:最大子段和: 给定一个长度为n的一维数组a,请找出此数组的一个子数组,使得此子数组的和sum=a[i]+a[i+1]+……+a[j]最大,其中i>=0,i<n,j>=i,j<n 例如:31 -41 59 26 -53 58 97 -93 -23 84 子矩阵59+26-53+58+97=187为所求的最大子数组。二,源码第一种:直接穷举法:#include <iostream> using namespace std; int main() { int a[10]={31, -41, 59, 26, -53, 58, 97, -93, -23, 8 阅读全文

posted @ 2012-04-23 15:13 小田的专栏 阅读(533) 评论(0) 推荐(0) 编辑

2012年4月22日

【100题】第三十四 实现一个队列

摘要: 一,题目: 生产者消费者线程演示 一个生产者线程将int类型的数入列,一个消费者线程将int类型的数出列二,分析: 这一个,为操作系统上的一个经典例子,以下是july给出的解答 三,源码:#include <windows.h> #include <stdio.h> #include <process.h> #include <iostream> #include <queue> using namespace std; HANDLE ghSemaphore; //信号量 const int gMax = 100; /... 阅读全文

posted @ 2012-04-22 23:14 小田的专栏 阅读(172) 评论(0) 推荐(0) 编辑

【com编程】IE浏览器(右键扩展功能总结版)

摘要: 序言:大家是不是莫名其妙,我怎么什么都搀和上两脚。搞起这个高深的COM编程来了。呵呵……这是帮同学做的一个小东西,由于以前拿这个比赛过,今天由于业务需要又用上了,所以又拉我来做一下这个。都是兄弟,放下手中的活帮哥们做了。 需求:在IE菜单中,添加右键。点击右键调用javaScript,执行相应功能。 步骤:以管理员身份打开VS2005,新建ATL工程,动态获取当前位置,并写入注册表中void OnChange() { WCHAR buf[128]; GetCurrentDirectory(128,(LPTSTR)buf); WCHAR nam... 阅读全文

posted @ 2012-04-22 15:45 小田的专栏 阅读(430) 评论(0) 推荐(0) 编辑

【100题】第三十三 高级字符匹配(和谐系统原理)

摘要: 一,题目 给一串很长字符串,要求找到符合要求的字符串,例如目的串:123 例如:1******3***2 ,12*****3这些都要找出来 生活中,比如输入:法你轮和功 会被和谐的二,分析: 自然匹配就是对待匹配的每个字符挨个匹配,设你的待匹配字串长度位n,模式字符串长度位m。对于待匹配字符串中的任意一个字符最坏情况下要匹配m次,也就是说这个字符不在模式字符串中。所以最坏情况下总共是m*n此匹配,时间复杂度就是O(m*n) 倘若使用hash表对待字符串进行hash处理O(n)的时间复杂度,那么对于模式字符串中的任意字符,仅需一次hash判断就可以得知是否在... 阅读全文

posted @ 2012-04-22 15:34 小田的专栏 阅读(1058) 评论(1) 推荐(0) 编辑

2012年4月20日

【汇编】汇编程序入门篇

摘要: 先吐槽几句:总是有人说,门门通不如一门精。也不知道,这话到底是不是真的如其所言,感觉自己就像武侠里习武的少年,总想把世界上所有的武学全部学会,到最后却走火入魔。 从大一接触计算机起,已经五个年头了,学的知识方方面面,可回想自己精通的知识,C++?算了吧,虽然读了N遍教材,认真研习了经典教材《C++ primer》但是,每每还是有弄不明白的地方。Java?拉倒吧,这么多的类库、函数。C#? 你在开玩笑么?在拖控件开发网页的基础上学习C#,能有很深的造诣么?python?哇塞,刚入门就搞别的了。不提也罢。C?哥们,你会驱动开发么?精通么?如果不的话,还是不要说精通C了。 你学习... 阅读全文

posted @ 2012-04-20 23:18 小田的专栏 阅读(668) 评论(1) 推荐(0) 编辑

【Android】两种动画介绍(Tween动画、Frame动画)

摘要: Android中的动画类型有两种,一种是Tween动画、还有一种是Frame动画。Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。下面将一一详细介绍: 本博客参考自网络,结合自己一点理解,实为学习之用,不为其他目的。一,Tween动画 又称“补间动画”、“中间动画”,最早接触Tween类是在学习Flash时候,使用ActionScript做动画的时候,使用过类Tween。 Tween动画主要的功能是在绘制动画前设置动画绘制的轨迹,包括时间, 位置 ,等等。但是T... 阅读全文

posted @ 2012-04-20 18:13 小田的专栏 阅读(11453) 评论(1) 推荐(1) 编辑

【Linux 驱动】第十章 中断处理

摘要: 一,概念 1)什么是中断? 1>引入: 我们知道,处理器的处理速度比硬件来说要快上N个数量级,那么由处理器向硬件发出请求并等待回应的办法显然是不可取的,在这期间处理器浪费了大量的时间。这些时间应该被用来处理其他的事务。轮询可能是解决办法之一,但显然这样的办法也会让处理器做大量的无用功。 2>解决: 最好的办法,就是让硬件在需要的时候才向内核发出信号,然后处理器去响应硬件的请求。这就是中断机制。一个“中断”仅是一个信号,当硬件需要获得处理器对它的关注时,就可以发送这个信号。Linux 处理中断的方式非常类似在用户空间处理信号的方式。 大多数情况下,一个驱动只需要为它的设备的中断注册一 阅读全文

posted @ 2012-04-20 12:32 小田的专栏 阅读(2665) 评论(0) 推荐(0) 编辑

【100题】第三十二 数组、规划

摘要: 一,题目:有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。 例如: var a=[100 ,99 ,98 ,1 ,2 ,3]; var b=[1, 2, 3, 4, 5, 40]; 有两个序列a,b,大小都为n,序列元素的值任意整数,无序; 要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。二,分析第一种算法: 当前数组a和数组b的和之差为 A = sum(a) - sum(b) a的第i个元素和b的第j个元素交换后,a和b的和之差为 A' = sum(a) 阅读全文

posted @ 2012-04-20 11:31 小田的专栏 阅读(487) 评论(0) 推荐(0) 编辑

2012年4月19日

【Linux 驱动】第九章 与硬件通信

摘要: 在学习有关I/O总线的内容时,最好先看看相关的知识:从PC总线到ARM的内部总线 一,I/O 端口和 I/O 内存 每种外设都是通过读写寄存器来进行控制。 大部分外设都有几个寄存器,不管是在内存地址空间还是在I/O地址空间,这些寄存器的访问地址都是连续的。 在硬件层,内存区和 I/O 区域没有概念上的区别: 它们都是通过向在地址总线和控制总线发出电平信号来进行访问,再通过数据总线读写数据。因为外设要与I/O总线匹配,而大部分流行的 I/O 总线是基于个人计算机模型(主要是 x86 家族:它为读和写 I/O 端口提供了独立的线路和特殊的 CPU 指令),所以即便那些没有单独I/O 端口地址空间的 阅读全文

posted @ 2012-04-19 23:44 小田的专栏 阅读(370) 评论(0) 推荐(0) 编辑

2012年3月29日

【Android】自定义 Tabhost

摘要: 效果图:MainActivity.javapackage tianshuai.homePage; import android.app.TabActivity; import android.os.Bundle; import android.view.LayoutInflater; import android.widget.RelativeLayout; import android.widget.TabHost; import android.widget.TabHost.TabSpec; import android.widget.TextView; public class Ma.. 阅读全文

posted @ 2012-03-29 13:56 小田的专栏 阅读(4371) 评论(0) 推荐(0) 编辑

【Android】选项卡使用

摘要: 一,创建三个Activity类MainActiviey.javapackage tianshuai.home_page; import android.app.Activity; import android.app.ActivityGroup; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.TabHost; import android.widget.TabHost.TabSpec; public class MainActi.. 阅读全文

posted @ 2012-03-29 00:05 小田的专栏 阅读(1009) 评论(0) 推荐(0) 编辑

2012年3月27日

【C++ Primer】第十五章 友元、异常和其他 --之一--->友元和嵌套类

摘要: 一,友元 1)可以将类作为友元,友元类的所有方法都可以访问原始类的私有成员和保护成员。 2)下面例子介绍了 电视类和遥控器类,其中遥控器类为电视类的友元类 3)注意:友元关系不具对称性。即 A 是 B 的友元,但 B 不一定是 A 的友元。 友元关系不具传递性。即 B 是 A 的友元,C 是 B 的友元,但是 C 不一定是 A 的友元。#include <iostream> using namespace std; class TV { private: int state;// on or off int volume; //assumed to be digitized ... 阅读全文

posted @ 2012-03-27 19:57 小田的专栏 阅读(250) 评论(0) 推荐(0) 编辑

【人生】不管你挣多少, 钱永远是问题

摘要: 他年收入100多万开着一辆宝马5,天天被应酬折腾的要死要活,真想狠狠心不干了,当初干嘛非要自己创业,当年在那家外企也能挣个四五十万,加上些油水,能弄个大几十万,比自己干不知道要轻快多少!五险一金有公司给上着,多好啊,再看看现在,看看老婆孩子,还有跟着自己吃饭的好几十人,哪能说放手就放手,硬着头皮接着干吧,这不,一个猿类又给他打电话了,不知道又要干啥,唉。。。。。。。。。。。他年收入50多万开 着一辆a4l,天天琢磨着什么时候能换一辆q7或者陆巡什么的,可是看看手里还有两套房子的贷款没又还完,咬咬牙还是算了吧,今年的指标刚下来,麻痹的又 涨了40%,这tmd还叫人活吗?这指标这么涨下去,早晚有一 阅读全文

posted @ 2012-03-27 18:44 小田的专栏 阅读(230) 评论(0) 推荐(0) 编辑

2012年3月26日

【JNI】JNI中java类型的简写

摘要: 在JNI中,当我们使用GetFieldID/GetStaticFieldID或GetMethodID/GetStaticMethodID及定义JNINativeMethod等时,我们需要表示成员变量的类型,或函数传入参数或返回的类型。JNI把Field的类型,或函数传入参数或返回值的类型进行简写以char*的形式进行表示。 对于成员变量,直接用java类型的简写表示成员变量的类型就可以 比如:"I"表示该成员变量是Int类型 "Ljava/lang/String;"表示该成员变量是String类型 示例1: jfieldID str = (env)-&g 阅读全文

posted @ 2012-03-26 21:02 小田的专栏 阅读(11939) 评论(1) 推荐(2) 编辑

【C++ Primer】第十四章 C++中的代码重用

摘要: 序:C++的一个主要目标是促进代码重用,其中包含公有继承、包含、使用私有或保护继承一,包含对象成员的类 1)valarray类简介 #include <valarray> 作用:处理数值,支持数值中所有元素的值相加,找最大值,最小值 用法:vallarray <int> a; //数组 a size=0 vallarray <double> b(10); //数组 b size=10 vallarray <double> c(10,8); //数组 c size=8 每个元素设置为 10 i... 阅读全文

posted @ 2012-03-26 20:57 小田的专栏 阅读(1238) 评论(0) 推荐(0) 编辑

【java】各种对文件,读写的方法及小例子

摘要: 一,使用FileWriter和FileReader读写文件import java.io.*; public class JavaApplication2 { /** * @param args the command line arguments */ public static void main(String[] args) throws FileNotFoundException, IOException { FileWriter fw = new FileWriter("test.txt"); fw.write(... 阅读全文

posted @ 2012-03-26 17:17 小田的专栏 阅读(293) 评论(0) 推荐(0) 编辑

【android】错误集锦及解决办法

摘要: 错误一:the application has stopped unexpectedly解释:应用程序意外停止解决方案:1)首先检查java文件逻辑问题,比如强制类型转化出错 privateImageButton button; button =(Button)findViewById(R.id.button); 还有其他类型错误,此处不一一举证 2)我第一反应是xml文件配置错误 检查layout文件夹和values文件下的xml文件看是否有语法错误 这里有一个... 阅读全文

posted @ 2012-03-26 14:46 小田的专栏 阅读(162) 评论(0) 推荐(0) 编辑

【Android】入门级连接网络示例: 网页浏览和播放网络MP3

摘要: 前提:使用可以联网的模拟器或者手机调试一,更改xml文件<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_pa 阅读全文

posted @ 2012-03-26 14:43 小田的专栏 阅读(1167) 评论(0) 推荐(0) 编辑

2012年3月20日

【Linux】静态库与动态库的生成及调用

摘要: 一,库:一种可执行代码的二进制形式,可以被载入内存执行。其中库分为静态库、动态库二,静态库和动态库的区别 1)Linux 下静态库:名字一般为 lib***.a利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为如果静态函数库改变了,那么你的程序必须重新编译。 2)Linux 下动态库:这类库的名字一般是libxxx.so;相对于静态函数库,动态函数库在编译的时候 并没有被编译进目标代码中,你的程序执行到相关函数时才调用该函数库里的相 阅读全文

posted @ 2012-03-20 17:48 小田的专栏 阅读(892) 评论(0) 推荐(0) 编辑

导航