代码改变世界

homework-09

2013-11-25 14:03 by adun_li, 130 阅读, 0 推荐, 收藏, 编辑
摘要:这次作业主要考察C++11的简单用法,个人感觉这样的练习对我这种编程能力比较差的非常有用,加深了对C++11的理解。Lambda的用法 计算“Hello World!”中 a.字母‘e’的个数 b. 字母‘l’的个数代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 9 int main()10 {11 string s = "Hello World!";12 int a = 0,b = 0;13 for_each(s.begin()... 阅读全文

homework-06

2013-11-25 13:20 by adun_li, 161 阅读, 0 推荐, 收藏, 编辑
摘要:围棋问题 关于代码的阅读,写注释,我的代码阅读量和阅读能力都有限,而且是关于没有基础的围棋问题,JAVA和C#混合的程序。不免参考了其他同学的思路,忘老师见谅。1、playPrev(GoMove) 方法的实现 首先要了解函数的功能是关于棋子的重画,GoMove里面的DeadGroup存的是被吃掉的子,那么我们就需要把它们的位置都恢复。 1 public void playPrev(GoMove gm) 2 { 3 int a = m_gmLastMove.Point.X; 4 int b = m_gmLastMove.Point.Y; 5 int c = m_gmL... 阅读全文

homework-08

2013-11-18 13:12 by adun_li, 127 阅读, 0 推荐, 收藏, 编辑
摘要:这次作业是考察关于C++的一些使用,由于我的C++只掌握了基本功,所以我只有霸王硬上弓,勉强写写自己的浅见。1. 理解C++变量的作用域和生命周期对一个C++变量来说,有两个属性非常重要:作用域和生命周期,它们从两个不同的维度描述了一个变量--时间和空间。顾名思义,作用域就是一个变量可以被引用的范围,如:全局作用域、文件作用域、局部作用域;而生命周期就是这个变量可以被引用的时间段。不同生命周期的变量,在程序内存中的分布位置是不一样的。一个程序的内存分为代码区、全局数据区、堆区、栈区,不同的内存区域,对应不同的生命周期。全局变量作用域:全局作用域生命周期:程序运行期一直存在全局静态变量作用域:文 阅读全文

homework-07

2013-11-11 12:40 by adun_li, 184 阅读, 0 推荐, 收藏, 编辑
摘要:终于等到了一次难度相对比较小的问题,只要读完提问题就好,但又不得不说自己真的很菜,且不说C++掌握的不好,连英文也比较差,导致读的非常吃力,不过我还是坚持读完了四篇英文文章,大致意思是可以了解的,但是问到具体问题,我可能还是要傻眼,下面是我阅读的文章和所提的问题,问题可能比较宽泛,都是涉及某一方面,主要还是自己知之甚少,问题水平不高还望海涵,希望老师能给一些解答。article:http://msdn.microsoft.com/en-us/library/hh279654.aspxhttp://blogs.msdn.com/b/vcblog/archive/2011/09/12/102092 阅读全文

homework-02

2013-10-01 12:48 by adun_li, 241 阅读, 0 推荐, 收藏, 编辑
摘要:这是我第二次写博客,homework two果真是很难,我听到了同学们的哀怨声,而我也是其中一个,或者说我是一个很菜的选手,这次作业,我一共完成了二维数组求最大子数组的和,水平和垂直方向的连接求和,至于联通的问题,只听到大牛在说什么dp,自己也有一些想法,但是实践起来复杂度很高,就放弃了,由衷的希望老师可以针对这个问题好好讲解一下。 言归正传,我来说说这次作业的思路,这次我的编写语言是c++,首先是二维数组求最大子数组的和的问题,参考作业一,可以想到把二维数组向一维的方向前进,最朴素的算法时间复杂度是O(n^6),不断优化,可以最终达到O(n^3),基本思路就是创建一个新的二维数组s... 阅读全文

homework-01

2013-09-23 17:35 by adun_li, 138 阅读, 0 推荐, 收藏, 编辑
摘要:这是我第一次接触博客园和github,我的github账号是liyd。这门课给我的感觉是比较实用,而且能够真正锻炼编程能力的。 好了,话不多说了,简单介绍一下第一次作业(在一维数组里寻找最大子数组之和),这个问题看似不难,但真正把算法复杂度降到n的层面,对我来说还是挺有挑战的。这次作业我的实践方法比较简单,复杂度是O(n^2),思路也比较简单,就是通过两遍的遍历,不断比较大小得到最大值。 以下是我的用例和运行截图: 这次写程序感觉实践和思路都很重要,能有好的方法可以把复杂度降下去,节约时间,空间效率;实践中又能发现问题,解决问题的过程能力才能真正提高。阅读了复杂度更好的算法更是觉得巧妙。 第. 阅读全文