选择题考得很简单,限于HTML、CSS、JS。大部分是css的问题比如box-sizing的值、 有哪些伪元素、flex:auto的属性简写。
/* 求图的最短路径。 题目啥都不给,怎么写呀? */ // 假设已给出图的邻接矩阵,各点A、B、C用数字0、1、2……表示。所以找到0-1的最短路径就可以了 // 测试: let arr = [[2, 3, 5], [3], [0], [0, 1], [1], [0]]; console.log(minRoad(arr)); // [0,3,1] function minRoad(arr) { let start = arr[0], roads = [] for(let i = 0; i < start.length; ++i) { dfs(start[i], arr, [0]) } return roads.sort((a,b) => a.length - b.length)[0] function dfs(next, arr, road) { // 这种情况下说明有环或者回头路,此路不通 if(road.includes(next)) { return } // 这个说明找到路了 if(next === 1) { roads.push([].concat(road, next)) return } // 如果没有找到,就继续往下 let nextPoint = arr[next]; for (let i = 0; i < nextPoint.length; ++i) { dfs(nextPoint[i], arr, [].concat(road, next)); } } }
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <h2 id="time"></h2> <script> /* 思路是用下一年的1.1日减去现在的时间的毫秒数,再格式化日期。 动态变化是用setInterval来实现的 */ let div = document.getElementById('time'); setInterval(() => { let date = new Date() let now = date.getTime(); let nextYear = date.getFullYear() + 1; let end = new Date(`${nextYear}-01-01`).getTime(); let last = end - now; let show = getDate(date.getFullYear(), last); div.innerText = show; }, 1000); // 格式化时间 function getDate(year, time) { let relsecond = Math.floor((time/1000)%60); let minute = ((time/1000)/60); let relminute = Math.floor(minute%60); let hour = minute/60; let relhour = Math.floor(hour%24); let relday = Math.floor(hour/24); return `${year}年还剩${relday}天${relhour}时${relminute}分${relsecond}秒` } </script> </body> </html>