C++培训_成都达内分享思维变算法

  写程序的关键就是思维变算法,记C++实例讲解,很多时候,写程序都是思维变算法,算法变代码的过程,其中很关键的步就是思维变算法。

  这里所说的思维就是,你眼睛能看出来规律。

  再简单明了就是比如一个题目:统计一个英文字符串中的英文单词个数,如字符串“I am a student.”中的英文单词个数为4。

  如果给你一个字符串 I am a student 。你一数就得到了答案4 ,这是很自然的事,被看作常识。可是关键,怎样转变为算法。

  唉,这就是一个思维变算法的过程。这还得由简入繁追溯到大脑的底层数据。你大脑是怎么得到的4呢,因为你数了,你是怎么数的呢?噢是这样,出现了字母后面一个空格则这个就是一个单词,如果这个字母后面仍然是字母,则它还是同一个单词,这就是一个找非字母的把字母分开的过程然后统计数目的过程。

  这就是一种机制,这种机制就是算法的皱形。

  然后就可以通过这个画个流程,然后成了算法。

  很多时候我们都是在进行如上所述的这个过程,而且这个要思维清晰。考虑很多事,诸如 如果有例外情况等等。

  矩阵题就是这样:

  03 82 81 80 79 78 77 76 75 74 73

  05 83 50 49 48 47 46 45 44 43 72

  07 84 51 26 25 24 23 22 21 42 71

  09 85 52 27 10 9 8 7 20 41 70

  11 86 53 28 11 2 1 6 19 40 69

  13 87 54 29 12 3 4 5 18 39 68

  15 88 55 30 13 14 15 16 17 38 67

  17 89 56 31 32 33 34 35 36 37 66

  19 90 57 58 59 60 61 62 63 64 65

  21 91 92 93 94 95 96 97 98 99 100*/

  24 //看到这个方阵,一想到的就是找规律。这个题目规律只有两个 转圈 自加

  25 //转圈就要给数组元素定位,主要做的工作就是找规律然后根据规律用for简化,然后再赋值。

  26 //如果把一圈当作一个循环的话,那整体循环N/2次

  27

  28 #include
  29 using namespace std;

  30 int main()

  31 {

  32 const int N=10;//这个就不说了

  33

  34 //先建立一个二维数组

  35 int a[N][N];

  36

  37 //为了观察运行出的错,先把数组各个元素通通赋为0吧,这样一来,有什么错误在运行时候,一看就能看出来。

  38 for(int i=0;i
  39 for(int j=0;j
  40 {

  41 a[i][j]=0;

  42 }

  46 //试了一下从1赋值,感觉很费事,还是从后往前推吧,最后一个数字是N*N

  47 int last=N*N;

  48 int n=N;

  49 int i=n-1,j;//第一个循环要用到i(第54行),所以赋个初值

  50 for(int k=0;k
  51 {

  }

     成都达内科技IT培训中心,专注Java培训,C++培训,3G培训,android培训,嵌入式培训等高端IT培训,顶级师资授课,真实项目实战,零首付,低押金,名企高薪就业。

 



[阅读全文...]

挖上一个精彩
挖客给您推荐更多精彩!
挖下一个精彩

这些挖客臭味相投 · · · · · ·


挖客说 · · · · · ·

 

匿名评论
(文明上网,承担一切因您的行为而直接或间接导致的法律责任)

 

 
合作伙伴:   网易科技   赛迪社区   千龙科技   265上网导航   刷刷   动态网站制作指南   煎蛋   新新web2.0   9Fav就喜欢网   Linux桌面中文网   我爱水煮鱼   乐婴网
  天涯海阁   掘图志   cngadget   17Fav   桑林志   91新鲜网   奇事奇物网   搜酷全球   poboo