纪念一下C语言菜鸟打的第一次完整代码。
答案非常直观。1.输入一个数字n。2输入n个数。3输入个x 4.检索,输出重复个数
问题的关键点在于如何获取一个未知长度的数组(动态数组)。我们常见的是定义静态数组。int arr[n]是个逻辑上动态数组。
我观测答案有几种思路;1.小范围内研究问题,所以暂时可忽略代码的性价比,事实是是对核心问题的再次解读,需求:在一定群体里做筛选。那么关键变量是?其实是筛选方法,我们的核心操作逻辑要赋予n,那么n对结果可认为无影响。所以要先把死的逻辑写出来,而变通就应该集中在n,问题转化成了如何n转化使方法能用。要么改头换面,要么放宽定义。只要能输入一组数就行。而静态数组与动态数组是有桥梁的。抽象定义下,空间很大的静态数组,因为灵活性的不断上升,使静态数组的局限被打破,所以也可以看成是动态数组。
这为我的学习提供了很多思考角度。我们要关注定义之间的连贯性,仅仅知道定义,是不满足做题的。限制和优势分别在哪?要好好把握。
2.我的答案,用知识广度去弥补思维深度。这像我们现代的社会,知道工具怎么用足以解决问题。不碰壁,就很难锻炼自己的能力。扩充知识点也能很好为我们提供解决的问题的思路,要想理解深刻还得做题。
这种方法使n循环n次获取,创建木桶,放入N个东东,数组角标+1。
													
3,答案要100%的吸收才有最优的学习效果。向他人学习。