这几天做题的感受

前几天集训的时候总感觉做题目做不动,看到别人老是比我a的快心里就越来越急,心态越来越不好,越来越做不动。。不过还好有傅总开导吧,欲速则不达,这话说得是挺对的。。。。接下来几天我安安心心一道一道题来,也没去管别人a了多少排名多少,总算状态好了一点点。。。

这几天写了不少题了,也算对怎么解一道题有了一点点想法。总结了以下步骤:

:读题,好的开始是成功的一半吧,读题一定要多读几遍,把题目的意思理解透。。不然就像以前做物理一样,老是读了一半题就把结果写出来了,当然会错。。这几天来因为读题问题导致worng answer也不少,所以在这强调一下读题的重要性。。。

:分析情况并化简。例如1097图标排列,就可以化简为是否同一类图标大于等于两个;例如1073传球游戏,就可以定义二维数组a[m][n]表示传了m次球之后在第n个人手中共有几种情况,再然后可以通过a[m][n]=a[m-1][n+1]+a[m-1][n-1]来循环计算(首尾位置特殊考虑);例如1250笙声入耳,伤心人和不伤心人相遇并回头就可以等价为两个人擦肩而过,效果是一样的,然后这道题就转化为统计人数了。。还有很多题目都可以通过分析题意,模拟题中情况再化简的办法省去很多不必要的步骤。

:考虑全局,整理思路,写好伪代码。这也是必不可少的一步,这一步尽量考虑全方面的情况,因为你考虑的越少,就越可能错,debug过程也就越辛苦。

:debug。。尽量测试各种情况,修改错误。

没了。。切记心态要好,欲速则不达

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
这里提供了两种方法来判断一个日期是这一年的第几天。第一种方法是使用for循环和if语句,累加前面所有月份的天数,然后再加上当前月份的天数,即可得到这一天是这一年的第几天。第二种方法是使用switch语句,根据当前月份的大小,累加前面所有月份的天数,然后再加上当前月份的天数,即可得到这一天是这一年的第几天。两种方法的实现代码如下: 方法一: ```java public static void main(String[] args) { Scanner inputScanner = new Scanner(System.in); System.out.println("请输入月份:"); int month = inputScanner.nextInt(); System.out.println("请输入日期:"); int day = inputScanner.nextInt(); int days = day; for(int i=1;i<month;i++) { if(i ==4 || i==6 ||i==9 ||i==11) { days +=30; }else if(i==2){ days +=28; }else { days+=31; } } System.out.println(month +"月"+day+"日是这一年的第"+days+"天"); } ``` 方法二: ```java public static void main(String[] args) { Scanner inputScanner = new Scanner(System.in); System.out.println("请输入月份:"); int month = inputScanner.nextInt(); System.out.println("请输入日期:"); int day = inputScanner.nextInt(); int days = day; switch (month) { case 12: days +=30; case 11: days +=31; case 10: days +=30; case 9: days +=31; case 8: days +=31; case 7: days +=30; case 6: days +=31; case 5: days +=30; case 4: days +=31; case 3: days +=28; case 2: days +=31; } System.out.println(month +"月"+day+"日是这一年的第"+days+"天"); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Triose

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值