編程題:javascript
1.輸入某年某月某日,判斷這一天是這一年的第幾天?java
// 判斷是否爲閏年
function isRun(a) {
return a % 4 == 0 && a % 100 != 0 || a % 400 == 0
}
// 判斷是這一年的第幾天
function daysNum(year,month,day) {
var months = [31,28,31,30,31,30,31,31,30,31,30,31];
if(month ==1) {
return day;
}
for(var i = 0; i < month-1; i++) {
day += months[i]
}
if(isRun(year) && month >2) {
day ++
}
return day
}
複製代碼
2.尋找多數元素編程
設計一個方法,在一個數組中尋找佔大多數的元素(若是存在的話),若是這樣的元素不存在,就輸出「沒有元素佔大多數」。json
佔大多數的元素的定義爲:若是一個數組A的長度爲n,某一個元素在數組中的數量大於n/2,這個元素即爲佔大多數的元素。(簡單推理可知,一個數組最多有一個元素爲佔大多數的元素) 附加要求:時間複雜度越小越好 例子: 輸入:[3,3,4,2,4,4,2,4,4]
輸出:4
// 一共5個4,超過數組長度的一半 Input:[3,3,4,2,4,4,2,4,]
Output:沒有元素佔大多數數組
function SelectNum(arr) {
let len = arr.length;
var json = {};
for (let i = 0; i < len; i++) {
if (json[arr[i]] == undefined) {
json[arr[i]] = 1;
} else {
json[arr[i]] += 1
}
}
for (let a in json) {
if (json[a] > len / 2) {
return a
}
}
return '沒有元素佔大多數'
}
複製代碼
請有緣人指點。。spa