第一题:输入出生日期,判断到18岁时的天数。若没有18岁,则输出-1。
思路:使用SimpleDateFormat,将输入的字符串自动转换为日期格式。
1 输入的出生日期为birthday,转换为日期birthDate;
2 之后,将年份+18,使用String.format进行拼接,将18岁生日时的日期拼接为字符串后转为日期。
3 最后根据时间戳计算总的毫秒数,总的毫秒数除以每天的毫秒数,即得出天数。
第二题:牛客网正则表达式
第三题思路:(暴力求解)N最大为10000,若全部都买150的药品.则可买68份;若全部都买200的药品,则可买51份;若全部买350的药品,则可买29份。采用组合方式,三层for循环找出所有可能的购买方式,将所有购买方式所用费用存入数组。对数组进行排序。输入随身钱数T,根据二分查找方法,从费用数组中找到小于T的最大值即可。
问答题一:
1 判断矩阵交叉:矩阵A[2*3],矩阵B[3*3]
思路:若交叉,则将矩阵合在一起后的宽度 < 2+3;高度<3+3.
2 判断元素是否在矩阵内部:元素(x,y),矩阵[m,n]
思路:x,y与矩阵右下角元素坐标作对比,判断大小。