【CSDN编程竞赛】赛后总结

CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16
(请不要删掉此地址)

努力是为了让自己不平庸,你参加过哪些竞赛,有哪些收获?快来分享一下你的参赛经历吧!
内容创作方向需围绕竞赛相关,如本次竞赛的bug,对CSDN竞赛的建议,以往参加各类编程竞赛的比赛经历等等,参考如下(不强制使用示例格式,可根据自身实际经历撰写,内容贴合主题):

前言/背景

这次竞赛的内容为:竞赛:满分100分,4道编程题,编程题可使用Java、C、C++、C#、Python、JavaScript、lua、go等编程语言

大赛简介

CSDN编程竞赛第六期

参赛流程

考试相关问题可点击链接加入竞赛专区咨询交流

活动时间:9月8日-21日(竞赛时间截止9.18)

竞赛考试时间:9月18日 8:30-11:00(作答时间2小时)

获奖名单公布:9月23日

获奖用户信息收集:9月27日

奖品发放:9月30日后7个工作日内

解题思路

首先是审题,这个我们从小学就做过了,审题一方面要对整个题目有个总体认识,另一方面是我们获得思路最直接的线索。一般来讲,任何一个稍大的问题都不能通过一个函数解决。即便只需要一个函数,也是要分为多条语句来解决的。如何划分每个函数的功能,这个可以见仁见智。我经常采用的做法是从题目入手首先看题目是否存在标点符号。一般来讲,一个完整句子可以划分为一个大块,有几个句子就可以分为几个部分。然后每个部分再通过逗号,分号等依次划分为不同的小部分。每个小部分通过分析句子成分,将名词设为变量或类,将谓语部分写成函数。这样一个问题的思路雏形就有了。然后再仔细分析各部分的相关性,删除或修改不合理的地方,一个问题基本就算解决了。

如果问题较短,可以直接从句子成分入手,分析需要对哪些对象进行哪些处理。如果问题较复杂,可以现将关联较大的部分整理出来,看成一个整体,然后先分析每个部分之间如何关连,每个部分如何细化。基本上解题思路可以从中得到。

另一方面,对于基础知识的掌握也有助于解题。如一些常用的算法,可以很快的想到该如何解决某些问题,又如,对于常用的数据类型要能够熟练运用。可以第一时间想到哪些对象用哪些数据结构合适,哪些次之,哪些不合理。这些基本知识的熟练可以帮助你在第一时间对程序的整体框架有个认识。

资料分享

java学习书籍推荐

《数据结构与算法分析(Java版)》
《微信公众平台开发教程(含java代码)》
《Java编程思想》
《Java TCP IP Socket编程(原书第2版)》
Java并发编程:设计原则与模式(第二版)
《精通Tomcat——Java Web应用开发、框架分析与组件配置、系统集成与案例实战》
《自然语言处理原理与技术实现 java版》
《Java Web应用开发:J2EE和Tomcat第2版》
《Java项目开发全程实录(第3版)》
《Java虚拟机并发编程》
《分布式Java应用基础与实践》
《Java应用架构设计 模块化模式与OSGi》

你可能感兴趣的:(活动帖,经验分享)