当前位置: 首页 > article >正文

Day46力扣打卡

最近一直在做以前的题,刷题量都没有怎么增长,感觉自己算法一直不太行,但也只能菜就多练了。

打卡记录

在这里插入图片描述


由子序列构造的最长回文串的长度(区间DP)

链接

第二次刷这道题,相比上回思路来的很快,但是对 if i < len(word1) <= j 的限制条件,依旧不是很会设立。

class Solution:
    def longestPalindrome(self, word1: str, word2: str) -> int:
        s = word1 + word2
        n, ans = len(s), 0
        f = [[0] * n for _ in range(n)]

        for i in range(n - 1, -1, -1):
            f[i][i] = 1
            for j in range(i + 1, n):
                if s[i] == s[j]:
                    f[i][j] = f[i + 1][j - 1] + 2
                    if i < len(word1) <= j:
                        ans = max(ans, f[i][j])
                else:
                    f[i][j] = max(f[i][j - 1], f[i + 1][j])
        return ans  

阈值距离内邻居最少的城市(Floyd)

关于 Floyd 的最外层为 k k k 的解释:最外层的 k k k 是枚举位于起点和终点中的跳板,贪心的正确性必须得到保证,而这个保证在于,再求 f [ i ] [ j ] f[i][j] f[i][j] 时, f [ i ] [ k ] f[i][k] f[i][k] f [ k ] [ j ] f[k][j] f[k][j] 若可达(一般来说把不可达设置为无穷大),必须为最优值(即最短距离)。

class Solution:
    def findTheCity(self, n: int, edges: List[List[int]], distanceThreshold: int) -> int:
        g = [[0x3f3f3f3f] * (n) for _ in range(n)]
        for x, y, c in edges:
            g[x][y] = g[y][x] = c

        for k in range(n):
            for i in range(n):
                for j in range(n):
                    g[i][j] = min(g[i][j], g[i][k] + g[k][j])
        
        ans = 0
        min_cnt = inf
        for i in range(n):
            cnt = 0
            for j in range(n):
                if j != i and g[i][j] <= distanceThreshold:
                    cnt += 1
            if cnt <= min_cnt:
                min_cnt = cnt
                ans = i
        return ans

http://www.kler.cn/a/160255.html

相关文章:

  • SQL 注入详解:原理、危害与防范措施
  • llama factory lora 微调 qwen2.5 7B Instruct模型
  • SQL集合运算
  • 【自用】0-1背包问题与完全背包问题的Java实现
  • MySQL系列之如何在Linux只安装客户端
  • WebGIS三维地图框架--Cesium
  • *p++和(*p)++的区别
  • 异常(C++)
  • 【Spring Boot】如何通过RestTemplate获取另一个服务的接口返回信息
  • 深信服行为管理AC设置禁止用户使用向日葵等远程软件
  • 人工智能-语音识别技术paddlespeech的搭建和使用
  • centos用户相关命令
  • python起步
  • 问卷调查须避免的错误要点(02):避免逻辑错误与提升数据质量
  • 基于jsp+servlet+mybatis的简易在线选课系统
  • Dubbo(二)dubbo调用关系
  • golang使用sip协议 用户名和密码注册到vos3000
  • vue3中如何实现事件总线eventBus
  • 【数据结构(八)】哈希表
  • OpenCV-python numpy和基本作图
  • 甘草书店:#8 2023年11月22日 星期三「“说一套做一套”的甘草与麦田」
  • InnoDB的数据存储结构
  • Qt5.15.2的镜像网址
  • 用100ask 6ull配合 飞凌 elf1的教程进行学习的记录 - ap3216
  • SQL手工注入漏洞测试(Sql Server数据库)-墨者
  • 【Linux】进程控制-进程终止