1. 服务器广播 ——https://juejin.im/post/5dc2b45de51d4505277221fc
  2. 航班预定座位数 ——https://leetcode-cn.com/problems/corporate-flight-bookings/
  3. JS如何判断一组数字是否连续 ——https://segmentfault.com/q/1010000002943744

    思路:循环数组,和元素比较=新数组加上此元素,不=则把变量+1继续比较

  4. 九宫格按键输入 ——https://blog.csdn.net/shi201619616/article/details/74611161

  5. 报数游戏 ——https://www.nowcoder.com/questionTerminal/ce46d7af661345f2b1dad0edd491100c
  6. 字符串分割 ——https://blog.csdn.net/weixin_38169413/article/details/81610165
  7. 盛最多水的容器 ——https://leetcode-cn.com/problems/container-with-most-water/
  8. 判读有效字符串 ——https://leetcode-cn.com/problems/valid-parentheses/

整数反转 —— https://leetcode-cn.com/problems/reverse-integer/

  1. /**
  2. * @param {number} x
  3. * @return {number}
  4. */
  5. var reverse = function(x) {
  6. let reverseX = x.toString().split("").reverse().join("");
  7. reverseX = parseInt(reverseX) * Math.sign(x);
  8. if(Number(reverseX) > Math.pow(2, 31) - 1 || Number(reverseX) < Math.pow(2, 31) * -1) {
  9. return 0;
  10. }
  11. return Number(reverseX);
  12. };

动态规划—股票买入最佳时机问题—https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/

思路:价格比较找到最小价格,记录最大利润,比较目前最大利润和(当前price元素-最小价格),取最大值,一项一项比较到最后就得出最大利润。

  1. /*
  2. * 动态规划
  3. */
  4. let maxProfit = function(prices) {
  5. let max = 0, minprice = prices[0]
  6. prices.forEach(item => {
  7. minprice = Math.min(item, minprice);
  8. max = Math.max(max, item - minprice)
  9. })
  10. return max
  11. }

两数之和—-https://leetcode-cn.com/problems/two-sum/

思路:构造哈希map,遍历数组,target-item,不存在键值对,则写入哈希map,当前值item,对应下标。 target - item 能在哈希map找到,即满足要求,记录以便函数后面返回

  1. /**
  2. * @param {number[]} nums
  3. * @param {number} target
  4. * @return {number[]}
  5. */
  6. var twoSum = function(nums, target) {
  7. const targetMap = new Map;
  8. let list = []
  9. nums.forEach((item, index) => {
  10. if(targetMap.has(target - item)) {
  11. list = [index, targetMap.get(target - item)]
  12. } else{
  13. targetMap.set(item, index)
  14. }
  15. });
  16. return list;
  17. };