上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖
楼主: 李恒道 - 

【当前无排名】挑战leetcode进入前1w名

[复制链接]
  • TA的每日心情
    擦汗
    5 天前
  • 签到天数: 194 天

    [LV.7]常住居民III

    720

    主题

    6077

    回帖

    6854

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6854

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 昨天 03:02 | 显示全部楼层

    https://leetcode.cn/problems/peak-index-in-a-mountain-array/submissions/588536794/?envType=study-plan-v2&envId=primers-list
    标准二分法的故事

    func peakIndexInMountainArray(arr []int) int {
        var l int
        var r int = len(arr) - 1
        for l != r {
            center := l + int((r-l)/2)
            next := center + 1
            if arr[center] > arr[next] {
                r = center
            } else {
                l = next
            }
        }
        return l
    }
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复
    订阅

    使用道具 举报

  • TA的每日心情
    擦汗
    5 天前
  • 签到天数: 194 天

    [LV.7]常住居民III

    720

    主题

    6077

    回帖

    6854

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6854

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 昨天 03:13 | 显示全部楼层

    https://leetcode.cn/problems/transpose-matrix/submissions/588536961/?envType=study-plan-v2&envId=primers-list
    数组翻转

    func transpose(matrix [][]int) [][]int {
        ans := make([][]int, len(matrix[0]))
        for i := range ans {
            ans[i] = make([]int, len(matrix))
        }
        for i := 0; i < len(matrix); i++ {
            for y := 0; y < len(matrix[0]); y++ {
                ans[y][i] = matrix[i][y]
            }
        }
        return ans
    }
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    5 天前
  • 签到天数: 194 天

    [LV.7]常住居民III

    720

    主题

    6077

    回帖

    6854

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6854

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 昨天 03:25 | 显示全部楼层

    https://leetcode.cn/problems/powx-n/submissions/588537136/?envType=study-plan-v2&envId=top-interview-150
    一眼位运算乘法
    不过懒得优化了

    var myPow = function (x, n) {
      if (n < 0) {
        n = n * -1;
        x = 1 / x;
      }
      let num = x;
      let ans = 1;
      for (let index = 0; index < 32; index++) {
        if ((n & (1 << index)) !== 0) {
          ans = ans * num;
        }
        num = num * num;
      }
      return ans;
    };
    
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    5 天前
  • 签到天数: 194 天

    [LV.7]常住居民III

    720

    主题

    6077

    回帖

    6854

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6854

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 昨天 03:32 | 显示全部楼层

    https://leetcode.cn/problems/binary-search-tree-iterator/submissions/588537224/?envType=study-plan-v2&envId=top-interview-150
    看到h一开始以为是重链刨分
    想了一下重链不太符合空间要求
    应该就是根据高度构造了
    试了一下一次过

    /**
     * Definition for a binary tree node.
     * function TreeNode(val, left, right) {
     *     this.val = (val===undefined ? 0 : val)
     *     this.left = (left===undefined ? null : left)
     *     this.right = (right===undefined ? null : right)
     * }
     */
    /**
     * @param {TreeNode} root
     */
    var BSTIterator = function (root) {
      this.stack = [];
      while (root !== null) {
        this.stack.push(root);
        root = root.left;
      }
    };
    
    /**
     * @Return {number}
     */
    BSTIterator.prototype.next = function () {
      const item = this.stack.pop();
      let root = item.right;
      while (root !== null) {
        this.stack.push(root);
        root = root.left;
      }
      return item.val;
    };
    
    /**
     * @return {boolean}
     */
    BSTIterator.prototype.hasNext = function () {
      if (this.stack.length == 0) {
        return false;
      }
      return true;
    };
    
    /**
     * Your BSTIterator object will be instantiated and called as such:
     * var obj = new BSTIterator(root)
     * var param_1 = obj.next()
     * var param_2 = obj.hasNext()
     */
    
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    5 天前
  • 签到天数: 194 天

    [LV.7]常住居民III

    720

    主题

    6077

    回帖

    6854

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6854

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 昨天 04:26 | 显示全部楼层

    https://leetcode.cn/problems/sort-integers-by-the-power-value/submissions/588537770/
    秒了

    const getRank = (num) => {
        if (num == 1) {
          return 0;
        }
        if (num % 2 == 0) {
          return getRank(num / 2) + 1;
        } else {
          return getRank(3 * num + 1) + 1;
        }
      };
    var getKth = function (lo, hi, k) {
      const arr = new Array(hi - lo + 1).fill(0).map((v, index) => lo + index);
      arr.sort((a, b) => {
    
        a1=getRank(a);
        b1=getRank(b);
        if(a1==b1){
            return a-b
        }
        return a1-b1
      });
      return arr[k-1]
    
    };
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    5 天前
  • 签到天数: 194 天

    [LV.7]常住居民III

    720

    主题

    6077

    回帖

    6854

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6854

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 昨天 18:37 | 显示全部楼层

    https://leetcode.cn/problems/clone-graph/submissions/588649523/?envType=study-plan-v2&envId=top-interview-150
    dfs秒了

    var cloneGraph = function (node) {
        const cache = new Map()
        const cloneDfs = (node) => {
            if(node==null){
                return null
            }
            if (cache.has(node.val)) {
                return cache.get(node.val)
            }
            const newNode = {
                val: node.val,
                neighbors: [],
            }
            cache.set(node.val,newNode)
    
            for (let index = 0; index < node.neighbors.length; index++) {
                const neighbor = node.neighbors[index];
                newNode.neighbors.push(cloneDfs(neighbor))
            }
            return newNode
        }
        return cloneDfs(node)
    };
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    5 天前
  • 签到天数: 194 天

    [LV.7]常住居民III

    720

    主题

    6077

    回帖

    6854

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6854

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 昨天 20:37 | 显示全部楼层

    https://leetcode.cn/problems/insert-interval/submissions/588668749/?envType=study-plan-v2&envId=top-interview-150
    狂写判断

    var insert = function (intervals, newInterval) {
        let newInter = [...newInterval];
        let isInsert = false;
        let ans = []
        for (let index = 0; index < intervals.length; index++) {
            const interval = intervals[index];
            if ((interval[0] > newInter[0] && interval[0] < newInter[1])
                || (interval[1] > newInter[0] && interval[1] < newInter[1])
                || (interval[0] <= newInter[0] && interval[1] >= newInter[1])
                || (interval[1] == newInter[0])
                || (interval[0] == newInter[1])) {
                newInter[0] = Math.min(interval[0], newInter[0])
                newInter[1] = Math.max(interval[1], newInter[1])
            } else if (!isInsert && interval[0] > newInter[1]) {
                ans.push(newInter)
                ans.push(interval)
                isInsert = true
            } else {
                ans.push(interval)
            }
        }
        if (!isInsert) {
            ans.push(newInter)
        }
        return ans
    
    };
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    5 天前
  • 签到天数: 194 天

    [LV.7]常住居民III

    720

    主题

    6077

    回帖

    6854

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6854

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 昨天 20:51 | 显示全部楼层

    https://leetcode.cn/problems/sqrtx/submissions/588671482/?envType=study-plan-v2&envId=top-interview-150
    二分法秒了

    var mySqrt = function (x) {
        let l = 0;
        let r = x;
        let ans = x;
        while (l != r) {
            let c = l + Math.floor((r - l) / 2)
            if (c * c <= x&&c!=0) {
                ans = c;
                l = c + 1;
            } else {
                r = c
            }
        }
        return ans
    };
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    5 天前
  • 签到天数: 194 天

    [LV.7]常住居民III

    720

    主题

    6077

    回帖

    6854

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6854

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 5 小时前 | 显示全部楼层

    https://leetcode.cn/problems/simplify-path/submissions/588714181/?envType=study-plan-v2&envId=top-interview-150
    堆栈秒

    var simplifyPath = function (path) {
      const stack = [];
      let str = "";
      if(path[path.length-1]!=='/'){
        path+="/"
      }
      for (let index = 1; index < path.length; index++) {
        const char = path[index];
        if (char == "/" && str !== "") {
          if (str != ".") {
            if (str == "..") {
              stack.pop();
            } else {
              stack.push(str);
            }
          }
          str = "";
        } else {
          if(char!=='/'){
            str += char;
          }
        }
      }
      return '/'+stack.join('/')
    };
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表