LintCode第766题,LintCode第1141题,LintCode第478题
第766题描述
判断给出的年份 n
是否为闰年. 如果 n
为闰年则返回 true
闰年是包含额外一天的日历年. 如果年份可以被 4 整除且不能被 100 整除 或者 可以被 400 整除
, 那么这一年为闰年
样例 1:
输入 : n = 2008
输出 : true
样例 2:
输入 : n = 2018
输出 : false
代码如下:
public class Solution {
/**
* @param n: a number represent year
* @return: whether year n is a leap year.
*/
public boolean isLeapYear(int n) {
// write your code here
if(n%4==0&&(n%100!=0||n%400==0))
{
return true;
}else
{
return false;
}
}
第1141题描述
给定年份和月份,返回这个月的天数。
闰年的条件是:
- 能被
4
整除,但不能被100
整除的年份 - 能被
400
整除的年份
以上两个满足其中之一就是闰年。
代码如下:
public class Solution {
/**
* @param year: a number year
* @param month: a number month
* @return: return the number of days of the month.
*/
public int getTheMonthDays(int year, int month) {
// write your code here
boolean leapYear=false;
int days=0;
if(year%4==0&&(year%100!=0||year%400==0))
{
leapYear= true;
}
switch (month){
case 2:
days= leapYear ? 29 : 28;
break;
case 4:
case 6:
case 9:
case 11:
days= 30;
break;
default:
days=31;
}
return days;
}
}
第478题描述
描述
给出两个整数 a , b ,以及一个操作符 opeator
+, -, *, /
返回结果 a<operator>b
样例 1:
输入:
a = 1
b = 2
operator = +
输出:
3
解释:
返回 1 + 2 的结果
样例 2:
输入:
a = 10
b = 20
operator = *
输出:
200
解释:
返回10 * 20的结果
样例 3:
输入:
a = 3
b = 2
operator = /
输出:
1
解释:
返回 3 / 2的结果
样例 4:
输入:
a = 10
b = 11
operator = -
输出:
-1
解释:
返回 10 - 11的结果
代码如下:
public class Calculator {
/**
* @param a: An integer
* @param op: A character, +, -, *, /.
* @param b: An integer
* @return: The result
*/
public int calculate(int a, char op, int b) {
// write your code here
int result=0;
if(new Character('+').equals(op))
{
result=a + b;
}else if(new Character('-').equals(op))
{
result=a - b;
}else if(new Character('*').equals(op))
{
result=a * b;
}else if(new Character('/').equals(op))
{
result=a / b;
}
return result;
}
}