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

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

[复制链接]
  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5959

    回帖

    6758

    积分

    管理员

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

    积分
    6758

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

    发表于 2024-10-21 19:59:46 | 显示全部楼层

    https://leetcode.cn/problems/number-of-provinces/submissions/574572111/
    一眼并查集
    但是读错题意了...

    
    
    class UnionFind {
        //用来解决不同节点间是否拥有相同根的问题
        constructor(n) {
            this.parent = [] //并查集
            this.size = [] //每个节点下拥有的总节点数目
            this.count = 0
            this.init(n)
        }
        //初始化一个并查集
        init(n) {
            this.parent.length = 0
            for (let i = 0; i < n; i++) {
                this.parent[i] = i
            }
            this.count = n
            this.size = new Array(n).fill(1)
        }
        // 在并查集中找到节点node的根节点
        find(node) {
            while (node != this.parent[node]) {
                // 路径压缩,每次查找时都将子节点的父节点设置为父节点的父节点。这样能够不停的扁平化查询树。
                this.parent[node] = this.parent[this.parent[node]]
                node = this.parent[node]
            }
            return node
        }
        //判断两个节点的根节点是不是同一个
        same(left, right) {
            return this.find(left) == this.find(right)
        }
        // 将两个节点关联起来,即两个节点共有一个根节点.和并是将两个节点的根节点合并起来
        union(left, right) {
            let l = this.find(left)
            let r = this.find(right)
            if (l != r) {
                // 左边较小,因此将左边合并到右边的树上
                if (this.size[l] < this.size[r]) {
                    this.parent[l] = r
                    this.size[r] += this.size[l]
                } else {
                    this.parent[r] = l
                    this.size[l] += this.size[r]
                }
                // 连通分量减1
                this.count--
                return true
            }
            return false
        }
        //获取总共分了多少组
        getCount() {
            return this.count
        }
    }
    
    var findCircleNum = function (isConnected) {
        const union = new UnionFind(isConnected.length);
        for (let index = 0; index < isConnected.length; index++) {
            for (let indey = 0; indey < isConnected[0].length; indey++) {
                if (isConnected[index][indey] == 1) {
                    union.union(index, indey)
                }
            }
    
        }
        return union.getCount()
    };```
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5959

    回帖

    6758

    积分

    管理员

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

    积分
    6758

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

    发表于 2024-10-21 20:48:35 | 显示全部楼层

    https://leetcode.cn/problems/valid-anagram/submissions/574588789/?envType=study-plan-v2&envId=programming-skills
    简单题
    打完收工

    func isAnagram(s string, t string) bool {
        if len(s) != len(t) {
            return false
        }
        var cache = make(map[int32]int32, 0)
        for _, v := range s {
            cache[v] = cache[v] + 1
        }
        for _, v := range t {
            cache[v] = cache[v] - 1
            if cache[v] < 0 {
                return false
            }
        }
        return true
    }
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5959

    回帖

    6758

    积分

    管理员

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

    积分
    6758

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

    发表于 2024-10-22 08:27:54 | 显示全部楼层

    https://leetcode.cn/problems/count-pairs-that-form-a-complete-day-i/submissions/574677238/
    简单题

    var countCompleteDayPairs = function (hours) {
      const cache = new Map();
      let result = 0;
      for (let index = 0; index < hours.length; index++) {
        const hour = hours[index] % 24;
        const target=hour==0?0:24 - hour
        if (cache.has(target)) {
          result += cache.get(target);
        }
        cache.set(hour, (cache.get(hour) ?? 0) + 1);
      }
      return result
    };
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5959

    回帖

    6758

    积分

    管理员

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

    积分
    6758

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

    发表于 2024-10-22 15:47:11 | 显示全部楼层

    https://leetcode.cn/problems/count-pairs-that-form-a-complete-day-ii/description/
    同样的题
    秒了

    
    
    var countCompleteDayPairs = function (hours) {
      const cache = new Map();
      let result = 0;
      for (let index = 0; index < hours.length; index++) {
        const hour = hours[index] % 24;
        const target=hour==0?0:24 - hour
        if (cache.has(target)) {
          result += cache.get(target);
        }
        cache.set(hour, (cache.get(hour) ?? 0) + 1);
      }
      return result
    };```
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5959

    回帖

    6758

    积分

    管理员

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

    积分
    6758

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

    发表于 2024-10-22 16:03:16 | 显示全部楼层

    https://leetcode.cn/problems/add-binary/submissions/574803015/?envType=study-plan-v2&envId=top-interview-150
    简单题
    秒了

    var addBinary = function (a, b) {
      a = a
        .split("")
        .reverse()
        .map((i) => parseInt(i));
      b = b
        .split("")
        .reverse()
        .map((i) => parseInt(i));
      let extra = 0;
      let len = Math.max(a.length, b.length);
      let result = "";
      for (let index = 0; index < len; index++) {
        const bit1 = a[index];
        const bit2 = b[index];
        const newBit = (bit1 ?? 0) + (bit2 ?? 0) + extra;
        result = (newBit % 2) + result;
        extra = Math.floor(newBit / 2);
      }
      if(extra!==0){
        result = extra + result;
      }
      return result;
    };
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5959

    回帖

    6758

    积分

    管理员

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

    积分
    6758

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

    发表于 2024-10-22 16:13:49 | 显示全部楼层

    https://leetcode.cn/problems/single-number-iii/submissions/574807196/
    这题没想出来
    答案真巧妙

    var singleNumber = function (nums) {
      let total = 0;
      for (const num of nums) {
        total ^= num;
      }
      const bit = total & -total;
      const ret = [0, 0];
      for (const num of nums) {
        ret[(num & bit) !== 0 ? 1 : 0] ^= num;
      }
      return ret;
    };
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5959

    回帖

    6758

    积分

    管理员

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

    积分
    6758

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

    发表于 2024-10-22 16:27:14 | 显示全部楼层

    https://leetcode.cn/problems/interleaving-string/submissions/574814157/?envType=study-plan-v2&envId=top-interview-150
    dfs过99%....

    var isInterleave = function (s1, s2, s3) {
      const cache = new Map();
      const dfs = (p1, p2, p3) => {
        if (p1 == s1.length && p2 == s2.length && p3 == s3.length) {
          return true;
        }
        const flag = `${p1} ${p2} ${p3}`;
        if (cache.has(flag)) {
          return cache.get(flag);
        }
    
        if (s1[p1] == s3[p3] && s1[p1] !== undefined) {
          //可能是
          let result = dfs(p1 + 1, p2, p3 + 1);
          if (result == true) {
            cache.set(flag, true);
            return true;
          }
        }
        if (s2[p2] == s3[p3] && s2[p2] !== undefined) {
          //可能是
          let result = dfs(p1, p2 + 1, p3 + 1);
          if (result == true) {
            cache.set(flag, true);
            return true;
          }
        }
        cache.set(flag, false);
        return false;
      };
      return dfs(0, 0, 0);
    };
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

  • TA的每日心情
    开心
    6 小时前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4189

    回帖

    4056

    积分

    管理员

    积分
    4056

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2024-10-22 17:16:19 | 显示全部楼层
    李恒道 发表于 2024-10-22 16:27
    [md]https://leetcode.cn/problems/interleaving-string/submissions/574814157/?envType=study-plan-v2&en ...

    多少名了
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5959

    回帖

    6758

    积分

    管理员

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

    积分
    6758

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

    发表于 2024-10-22 19:03:51 | 显示全部楼层

    还没排名...
    今天刚好250题
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5959

    回帖

    6758

    积分

    管理员

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

    积分
    6758

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

    发表于 2024-10-22 19:44:32 | 显示全部楼层

    说实话逐渐开始感觉有点到瓶颈了
    很多题都是知道解法就起手式秒
    不知道怎么扣都抠不出来
    完全不是让练习的
    单点突破问题全tm背板
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

    发表回复

    本版积分规则

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