LeetCode 每日一题 2024/1/8-2024/1/14

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步


目录

      • 1/8 447. 回旋镖的数量
      • 1/9 2707. 字符串中的额外字符
      • 1/10 2696. 删除子串后的字符串最小长度
      • 1/11 2645. 构造有效字符串的最少插入数
      • 1/12 2085. 统计出现过一次的公共字符串
      • 1/13 2182. 构造限制重复的字符串
      • 1/14 83. 删除排序链表中的重复元素


1/8 447. 回旋镖的数量

matrix[i][j] 记录点i 点j之间的距离
遍历每一个点 相同距离的点个数
计算

def numberOfBoomerangs(points):""":type points: List[List[int]]:rtype: int"""def dist(x,y):return (y[1]-x[1])**2+(y[0]-x[0])**2n = len(points)matrix = [[0]*n for _ in range(n)]for i in range(n):for j in range(n):matrix[i][j] = dist(points[i],points[j])from collections import defaultdictans = 0for i in range(n):m = defaultdict(int)for j in range(n):m[matrix[i][j]]+=1for k,v in m.items():if v>1:ans += v*(v-1)return ans

1/9 2707. 字符串中的额外字符

dp[i]表示s[:i]额外字符个数
首先将s[i]认为是额外字符 初始化dp[i]=dp[i-1]+1
再判断s[j:i]是否在字典中 如果在 则dp[i]=min(dp[j],dp[i])
map用来判断字符串是否在字典中

def minExtraChar(s, dictionary):""":type s: str:type dictionary: List[str]:rtype: int"""n=len(s)dp = [float("inf")]*(n+1)dp[0]=0m = {}for d in dictionary:m[d] =1for i in range(1,n+1):dp[i] = dp[i-1]+1for j in range(i-1,-1,-1):if s[j:i] in m:dp[i] = min(dp[j],dp[i])return dp[n]

1/10 2696. 删除子串后的字符串最小长度

栈 将字母放入栈中 判断栈顶两个字符

def minLength(s):""":type s: str:rtype: int"""st = []for c in s:st.append(c)if len(st)>=2 and (''.join(st[-2:])=="AB" or ''.join(st[-2:])=="CD"):st.pop()st.pop()return len(st)

1/11 2645. 构造有效字符串的最少插入数

从头遍历 记录当前状态

def addMinimum(word):""":type word: str:rtype: int"""cur = ""ans = 0for w in word:if w=="a":if cur=="a":ans+=2elif cur=="b":ans+=1cur = welif w=="b":if cur=="":ans +=1elif cur=="b":ans+=2cur = welse:if cur=="a":ans+=1elif cur=="":ans+=2cur=""if cur=="a":ans+=2elif cur=="b":ans+=1return ans

1/12 2085. 统计出现过一次的公共字符串

map统计字符串出现次数

def countWords(words1, words2):""":type words1: List[str]:type words2: List[str]:rtype: int"""ans = 0m1,m2={},{}for w in words1:m1[w]=m1.get(w,0)+1for w in words2:m2[w]=m2.get(w,0)+1for k,v in m1.items():if v!=1:continueif m2.get(k,0)==1:ans+=1return ans

1/13 2182. 构造限制重复的字符串

选择字典序最高的字符加入 如果超过次数
则加一个次高的字符然后继续换成最大字符加入

def repeatLimitedString(s, repeatLimit):""":type s: str:type repeatLimit: int:rtype: str"""cnt = [0]*26for c in s:cnt[ord(c)-ord('a')]+=1ret=[]i,j,cur = 25,24,0while i>=0 and j>=0:if cnt[i]==0:i-=1cur=0elif cur<repeatLimit:cnt[i]-=1cur+=1ret.append(chr(ord('a')+i))elif j>=i or cnt[j]==0:j-=1else:cnt[j]-=1cur=0ret.append(chr(ord('a')+j))return ''.join(ret)

1/14 83. 删除排序链表中的重复元素

已排序 从头到尾判断
如果相同跳过

class ListNode(object):def __init__(self, val=0, next=None):self.val = valself.next = next
def deleteDuplicates(head):""":type head: ListNode:rtype: ListNode"""top = ListNode(0)pre = topcur = headwhile cur:while cur.next and cur.val==cur.next.val:cur = cur.nextpre.next = curpre = curcur = cur.nextreturn top.next

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/629257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

test0117测试1

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 磁盘满的本质分析 专栏&#xff1a;《Linux从小白到大神》 | 系统学习Linux开发、VIM/GCC/GDB/Make工具…

Hive字符串函数讲解

Hive 提供了许多内建的字符串函数来处理文本数据。以下是您提到的字符串函数的详细讲解,包括案例和使用注意事项: LENGTH() 功能:返回字符串的长度。语法:LENGTH(string)案例:SELECT LENGTH(Hello World); 结果为 11注意事项:如果输入是 NULL,则返回结果也是 NULL。UPPE…

HCIA——12题目-1章选择

学习目标&#xff1a; 计算机网络 1.掌握计算机网络的基本概念、基本原理和基本方法。 2.掌握计算机网络的体系结构和典型网络协议&#xff0c;了解典型网络设备的组成和特点&#xff0c;理解典型网络设备的工作原理。 3.能够运用计算机网络的基本概念、基本原理和基本方法进行…

金融CRM系统是什么?有哪些功能和作用

今年市场经济下行&#xff0c;投资趋向于保守、人们消费降级&#xff0c;对于金融行业来说影响很大。受经济形式的影响加上行业的数字化转型升级&#xff0c;金融企业都在寻求客户管理的新策略&#xff0c;维护好忠实客户、吸引新客户投资。小编认为CRM系统是管理客户的不二之选…

【数据结构和算法】反转链表

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一&#xff1a;迭代&#xff08;双指针&#xff09; 2.2 方法二&#xff1a;递归 三、代码 3.…

[HTML]Web前端开发技术13(HTML5、CSS3、JavaScript )横向二级导航菜单 Web页面设计实例——喵喵画网页

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;佬佬会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…

Friis Transmission Formula

文章目录 天线领域的Friss公式 天线领域的Friss公式 在天线领域&#xff0c;Friss 公式通常用于估算自由空间路径损耗&#xff0c;它的表达式如下&#xff1a; [ L 20 log ⁡ 10 ( d ) 20 log ⁡ 10 ( f ) 20 log ⁡ 10 ( 4 π c ) L 0 L 20 \log_{10}(d) 20 \log_{10}…

【Java万花筒】Java航海图:畅游地理信息处理的无尽可能

地理智能化&#xff1a;Java GIS库的全面解析与实战 前言 在当今数字化时代&#xff0c;地理信息系统&#xff08;GIS&#xff09;的应用越来越广泛&#xff0c;为解决空间数据处理和分析的需求提供了强大的工具。本文将深入探讨几个在Java环境中备受欢迎的GIS库&#xff0c;…

前端踩坑之——antDesignVue的upload组件

本地启动时控制台会报404&#xff0c;放到服务器上控制台会报405(多发一个请求) 原因&#xff1a;upLoad有默认的上传事件 解决&#xff1a;阻止默认事件即可 beforeUpload Hook function which will be executed before uploading. Uploading will be stopped with false or …

系统性学习vue-vuex

系统性学习vue-vuex 理解vuexvuex工作原理搭建vuex环境案例Vuex的开发者工具使用getters配置项mapState与mapGettersmapActions和mapMutationsvuex模块化namespace 理解vuex 概念&#xff1a; 专门在Vue中实现集中式状态&#xff08;数据&#xff09;管理的一个Vue插件&#xf…

性能优化-一文宏观理解OpenCL

本文主要对OpenCL做一个整体的介绍、包括环境搭建、第一个OpenCL程序、架构、优化策略&#xff0c;希望对读者有所收获。 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;高性能&#xff08;HPC&#xff09;开发基础…

消费增值模式:引领消费者与平台共创双赢的新篇章

在数字化时代&#xff0c;消费模式正在发生深刻变革。消费者不再满足于单纯的购物行为&#xff0c;而是寻求更加个性化和有价值的消费体验。而平台也面临着如何吸引和留住消费者的挑战。消费增值模式作为一种新型的商业模式&#xff0c;正逐渐成为解决这一问题的关键。 消费增…

react、Vue打包直接运行index.html不空白方法

react vue 在根目录下创建 vue.config.js 文件&#xff0c;写入 module.exports {publicPath: ./, }

C++中map按照从大到小的顺序存储元素

map按照从大到小存储元素 引言map的大致介绍概述 场景误区示例示例代码&#xff08;方法一&#xff09;运行结果示例代码二&#xff08;方法二&#xff09;运行结果 引言 在对map的使用中&#xff0c;由于对业务的需要&#xff0c;希望map中存储元素能够按照键的大小从大到小的…

ZooKeeper 应用场景深度解析

目录 引言 1. 分布式配置管理 2. 分布式锁 3. 分布式队列 4. 分布式协调 5. 分布式协同 6、数据发布与订阅 7、命名服务 8、集群管理 结论 引言 ZooKeeper 是一个分布式协调服务&#xff0c;被广泛应用于构建高可用、可靠性强的分布式系统。它提供了一组简单而强大的…

若依修改侧边栏

引用&#xff1a;https://blog.csdn.net/Sabrina_cc/article/details/125871591 子菜单选中后&#xff0c;文字和背景改变&#xff1a; .el-submenu__title i{color: #e8e8e8 !important;} #app .sidebar-container .theme-dark .nest-menu .el-submenu .is-active > .el-su…

C++设计模式(李建忠)笔记1

C设计模式&#xff08;李建忠&#xff09; 本文是学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。 参考链接 Youtube: C设计模式 Gtihub源码与PPT&#xff1a;https://github.com/ZachL1/Bilibili-plus 豆瓣: 设计模式–可复用面向对象软件的基础 文章目录 C设计模…

探索单元测试和 E2E 测试:提升软件质量的关键步骤(上)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

修复系统和修复常见安卓问题的 10 个应用

我们都喜欢我们的 Android 智能手机&#xff0c;对吧&#xff1f;有很多值得喜欢的地方。 Android 手机易于使用且通常无故障&#xff0c;但毕竟它只是一台机器&#xff0c;偶尔也会出现问题。面对现实吧&#xff0c;我们的智能手机并不完美。用户经常遇到的一些常见 Android …

【Kafka每日一问】Kafka消费者故障,出现活锁问题如何解决?

在Kafka中&#xff0c;消费者的“活锁”通常是指消费者实例持续失败并重新加入消费者组&#xff0c;但却始终无法成功处理消息。这种现象可能会导致消费者组不断触发重平衡&#xff08;rebalance&#xff09;&#xff0c;而消息却没有被实际消费。以下是一些解决或缓解活锁问题…