一年中的第几天

  • 一、题目信息
  • 二、解题思路
  • 三、代码实现
  • 四、其他题目分享

一、题目信息

题目要求输入一个字符串,表示年月日,需要你输出改天是这一年的第几天。输入输入自己解决。


二、解题思路

假设我们输入的是下面的字符串,我们将它分为三部分,年份,月份,日。分成三个小的子字符串,在用list存储起来。然后创建一个用来计算每个月累加天数和的数组。最后将年、月、日三个字符串转成数字。最后得到的天数就是数组下标-1+天数,如果是闰年并且月份大于2月还需要+1.


图示:

三、代码实现

还有的细节我放在代码的注释中了

class Main{public  static  int stringtoInt(String s){int count =0;for (int i = 0; i <s.length() ; i++) {count=count*10+(s.charAt(i)-'0');}return count;}public static void main(String[] args) {String s;Scanner scanner=new Scanner(System.in);s=scanner.nextLine();//用数组countDays统计每个月的累积天数,默认不是闰年int []days={0,31,59,90,120,151,181,212,243,273,304,334,365};List<String>  list=new ArrayList<>();String str="";//按照“-”分割年月日for (int i = 0; i <s.length() ; i++) {if(s.charAt(i)=='-'){list.add(str);//如果等于“-”了就需要清空str,改保存下一部分了,上一部分都add到list里str="";}else {str+=s.charAt(i);}}//整个字符串都只有二个“-”经过上面的for遍历,最后的str保存的就是天数list.add(str);//把上面的转换成整形  第一个存入的str是年,接下来是月,日int year=stringtoInt(list.get(0));int month=stringtoInt(list.get(1));int day=stringtoInt(list.get(2));int ret=days[month-1]+day;//如果这年是闰年 并且包含2月,就需要再加一天、if(((year%4==0 && year%100!=0)|| year%400==0) && month>2){ret++;}System.out.println(ret);}
}

运行结果:


四、其他题目分享

复数乘法 哔哩哔哩2020校园招聘面试题详解

剑指 Offer 67. 把字符串转换成整数

怎么把i am a student逆置成student a am i?面试题逆置字符串讲解

三种方法任君挑选 LeetCode_136只出现一次的数字

什么?动态规划10行求出连续子数组的最大和 剑指offer-42讲解

剑指 Offer 39. 数组中出现次数超过一半的数字 简单易懂14行搞定 。人人皆可会

二叉树的层序遍历原理+LeetCode真题练习

LeetCode 24:两两交换链表中的节点,1662. 检查两个字符串数组是否相等

LeetCode 21. 合并两个有序链表

剑指 Offer 58 - II. 左旋转字符串的三种解法一起看看吧!!

字符串“aabcccccaaa”压缩成“a2b1c5a3“还要返回更小的?力扣面试题 01.06. 字符串压缩讲解

字符串bit666keji123“中数字的个数?

找到不重复的数字进阶版 空间复杂度O(1),时间O(n)平方,不能修改数组内容。不能对数组进行排序

LeetCode_231. 判断一个数是否为2 的幂,与运算一行代码解决

验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和

剑指 Offer II 010. 和为 k 的子数组 前缀和+哈希表优化讲解

一年中的第几天 哔哩哔哩2020校园招聘笔试题讲解相关推荐

  1. k个一组翻转链表 哔哩哔哩2020校园招聘笔试题/LeetCode_25(困难)讲解

    目录标题 一.题目信息 二.解题思路 三.代码实现 四.其他精选题目分享 一.题目信息 LeetCode版本 牛客网版本 下面我以牛客网为例写代码 题目需要先输入一组数字代表链表的值,以#代表结尾. ...

  2. 复数乘法 哔哩哔哩2020校园招聘面试题详解

    一.题目信息 题目来源:牛客网 / LeetCode537 题目要求输入两个字符串,分别为两个复数的表达式,需要你输出两个复数的乘法结果. 二.解题方法 分别获取两个字符串的整数部分,再把这两部分字符 ...

  3. 哔哩哔哩swot分析_哔哩哔哩2020校园招聘游戏运营笔试真题

    在前不久<英雄联盟>S9世界大赛总决赛上,中国FPX战队以3:0横扫欧洲G2最终夺得S9世界冠军,国内玩家万分激动. 总决赛刚结束不久,B站以8亿元价格拍得<英雄联盟>全球总决 ...

  4. 哔哩哔哩2020校园招聘 - K个一组翻转链表 一年中的第几天

    1.K个一组翻转链表 题目描述: 给你一个链表,每 k 个节点一组进行翻转,请返回翻转后的链表. 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序. 示例 : 给定这个链表:1-&g ...

  5. 哔哩哔哩2020校园招聘算法笔试卷(二)

    单选23道,46分:编程3道,60分:总分106. 单选记不得了,趁着代码思路还在,记录编程题如下(题目名字我乱起的): 一.字典序拼接 给一个数组,元素值非负.将数组中元素拼接起来,要求拼接后的数值 ...

  6. 哔哩哔哩2020校园招聘前端笔试卷(一)答案解析

    第一题: 同源策略:协议 http和https不同 域名 store.company.com和news.company.com不同 端口号:http默认 80/8080/3128/8081/9098 ...

  7. 哔哩哔哩2020校园招聘前端笔试卷(一)

    在数组里面找数的==>双指针 1.以下不是CSS伪类选择器的是? 2. ['1', '2', '3'].map(parseInt) ( ) ['1', '2', '3'].map((item, ...

  8. 哔哩哔哩2020校园招聘游戏测试笔试卷(二)知识点解析

    题目直达 这里考察的是i++和++i的区别,i++是先使用i的值再执行加1操作,++i是先进行加1操作再使用i的值 public class Test {public static void main ...

  9. 哔哩哔哩2020校园招聘前端笔试题(卷一)

    1.下面哪几个和 [http://store.company.com/dir/page.html] 符合同源策略?( ) A. http://store.company.com/dir2/other. ...

最新文章

  1. sqlmap —— os-shell参数分析
  2. 如何处理SAP云平台错误消息 there is no compute unit quota for subaccount
  3. 使用Eclipse和Open Liberty的Java EE 8上的Java 9
  4. 有效运维的 on-call 机制
  5. Cassandra1.2文档学习(12)—— hint机制
  6. 树莓派教程 - 2.2 树莓派CSI摄像头,raspivid、raspistill常用参数
  7. Java并发编程学习笔记(二)——对象的共享
  8. VUE页面中加载外部HTML
  9. 纯前端html导出pdf(jsPDF.js)-分页-不分页
  10. 使用 Python 进行人脸识别(第2部分)
  11. 今天使用overleaf生成个人简历
  12. 教你如何发布自己的网站
  13. 《算法分析与设计》练习14
  14. js常用插件(三)之html2canvas生成海报
  15. wordpress主题_这些顶级WordPress主题可以使2018年成为有史以来最好的一年
  16. 如何从TI官网下载芯片的AltiumDesigner原理图文件和封装文件
  17. Angularjs DataTable表格自动刷新
  18. 【opencv】 使用at和ptr指针访问像素的区别
  19. Python Level 4 程序题:输入两个整数,倒序输出
  20. qnx slm7.0(程序员开发手册-翻译)

热门文章

  1. 游泳馆会员管理系统功能图
  2. 非素数模下的二次剩余
  3. 打开keil提示未安装xx器件包,实际上已经安装
  4. html 阅读swf,网页嵌入式 HTML5+Flash(swf) 视频播放器
  5. 良心!不限速2T大容量!阿里Teambition网盘体验~~~
  6. BERT Word Embeddings 教程
  7. 快递员上门取件api接口技术对接java文档
  8. R语言之空间数据操作
  9. 技能提升--1枚程序员的普通话练习
  10. win7搜索功能失效/win7搜索功能不能使用