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

LeetCode 每日一题 2023/1/23-2023/1/29

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


目录

      • 1/23 2303. 计算应缴税款总额
      • 1/24 1828. 统计一个圆中点的数目
      • 1/25 1632. 矩阵转换后的秩
      • 1/26 1663. 具有给定数值的最小字符串
      • 1/27 2309. 兼具大小写的最好英文字母
      • 1/28 1664. 生成平衡数组的方案数
      • 1/29 2315. 统计星号


1/23 2303. 计算应缴税款总额

根据收入依次查看每个层级

def calculateTax(brackets, income):""":type brackets: List[List[int]]:type income: int:rtype: float"""ans = 0.0pre = 0for up,p in brackets:if income > up:ans += (up-pre)*p*0.01else:ans += (income-pre)*p*0.01breakpre = upreturn ans

1/24 1828. 统计一个圆中点的数目

对于每个圆 跟每个点比较 点与圆心的距离小于等于半径 就在园内

def countPoints(points, queries):""":type points: List[List[int]]:type queries: List[List[int]]:rtype: List[int]"""ans = []for x,y,r in queries:num = 0for i,j in points:if (i-x)**2+(j-y)**2<=r*r:num+=1ans.append(num)return ans

1/25 1632. 矩阵转换后的秩

并查集 拓扑排序
官解 https://leetcode.cn/problems/rank-transform-of-a-matrix/solutions/2075052/ju-zhen-zhuan-huan-hou-de-zhi-by-leetcod-biw0/

class Solution:def matrixRankTransform(self, matrix: List[List[int]]) -> List[List[int]]:m, n = len(matrix), len(matrix[0])uf = UnionFind(m, n)for i, row in enumerate(matrix):num2indexList = defaultdict(list)for j, num in enumerate(row):num2indexList[num].append([i, j])for indexList in num2indexList.values():i1, j1 = indexList[0]for k in range(1, len(indexList)):i2, j2 = indexList[k]uf.union(i1, j1, i2, j2)for j in range(n):num2indexList = defaultdict(list)for i in range(m):num2indexList[matrix[i][j]].append([i, j])for indexList in num2indexList.values():i1, j1 = indexList[0]for k in range(1, len(indexList)):i2, j2 = indexList[k]uf.union(i1, j1, i2, j2)degree = Counter()adj = defaultdict(list)for i, row in enumerate(matrix):num2index = {}for j, num in enumerate(row):num2index[num] = (i, j)sortedArray = sorted(num2index.keys())for k in range(1, len(sortedArray)):i1, j1 = num2index[sortedArray[k - 1]]i2, j2 = num2index[sortedArray[k]]ri1, rj1 = uf.find(i1, j1)ri2, rj2 = uf.find(i2, j2)degree[(ri2, rj2)] += 1adj[(ri1, rj1)].append([ri2, rj2])for j in range(n):num2index = {}for i in range(m):num = matrix[i][j]num2index[num] = (i, j)sortedArray = sorted(num2index.keys())for k in range(1, len(sortedArray)):i1, j1 = num2index[sortedArray[k - 1]]i2, j2 = num2index[sortedArray[k]]ri1, rj1 = uf.find(i1, j1)ri2, rj2 = uf.find(i2, j2)degree[(ri2, rj2)] += 1adj[(ri1, rj1)].append([ri2, rj2])rootSet = set()ranks = {}for i in range(m):for j in range(n):ri, rj = uf.find(i, j)rootSet.add((ri, rj))ranks[(ri, rj)] = 1q = deque([[i, j] for i, j in rootSet if degree[(i, j)] == 0])while q:i, j = q.popleft()for ui, uj in adj[(i, j)]:degree[(ui, uj)] -= 1if degree[(ui, uj)] == 0:q.append([ui, uj])ranks[(ui, uj)] = max(ranks[(ui, uj)], ranks[(i, j)] + 1)res = [[1] * n for _ in range(m)]for i in range(m):for j in range(n):ri, rj = uf.find(i, j)res[i][j] = ranks[(ri, rj)]return resclass UnionFind:def __init__(self, m, n):self.m = mself.n = nself.root = [[[i, j] for j in range(n)] for i in range(m)]self.size = [[1] * n for _ in range(m)]def find(self, i, j):ri, rj = self.root[i][j]if [ri, rj] == [i, j]:return [i, j]self.root[i][j] = self.find(ri, rj)return self.root[i][j]def union(self, i1, j1, i2, j2):ri1, rj1 = self.find(i1, j1)ri2, rj2 = self.find(i2, j2)if [ri1, rj1] != [ri2, rj2]:if self.size[ri1][rj1] >= self.size[ri2][rj2]:self.root[ri2][rj2] = [ri1, rj1]self.size[ri1][rj1] += self.size[ri2][rj2]else:self.root[ri1][rj1] = [ri2, rj2]self.size[ri2][rj2] += self.size[ri1][rj1]

1/26 1663. 具有给定数值的最小字符串

字典序最小则开头尽量多的a 结尾尽量多的z
初始设置n个a 如果达不到k 则在最后改一个为z 以此类推

def getSmallestString(n, k):""":type n: int:type k: int:rtype: str"""       ans = ["a"]*ndiff = k-nloc = n-1while diff>0:if diff<26:ans[loc]=chr(ord("a")+diff)diff = 0else:ans[loc] = "z"diff-=25loc-=1return "".join(ans)

1/27 2309. 兼具大小写的最好英文字母

l记录26个字母是否出现
从头遍历所有字母 记录所有出现的小写字母
第二次遍历 搜索所有大写字母 查看是否出现过小写字母
如果有则比较

def greatestLetter(s):""":type s: str:rtype: str"""l = [0]*26ans = ""for c in s:if c.islower():ind = ord(c)-ord("a")l[ind] = 1for c in s:if c.isupper():ind = ord(c)-ord("A")if l[ind]==1 and c>ans:ans = creturn ans

1/28 1664. 生成平衡数组的方案数

对于坐标i
分别使用odd1,odd2记录i之前奇数位之和 与i之后奇数位之和
同理even1,even2记录i前后偶数位之和
需要寻找odd1+even2=odd2+even1的i

def waysToMakeFair(nums):""":type nums: List[int]:rtype: int"""ans = 0odd1=odd2=even1=even2=0for i,num in enumerate(nums):if i%2:odd2+=numelse:even2+=numfor i,num in enumerate(nums):if i%2:odd2-=numelse:even2-=numif odd1+even2==odd2+even1:ans +=1if i%2:odd1+=numelse:even1+=numreturn ans

1/29 2315. 统计星号

标记是否在竖线对内

def countAsterisks(s):""":type s: str:rtype: int"""ans = 0tag = Falsefor c in s:if c=="|":tag = tag^1elif c=="*" and not tag:ans +=1return ans

相关文章:

LeetCode 每日一题 2023/1/23-2023/1/29

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录1/23 2303. 计算应缴税款总额1/24 1828. 统计一个圆中点的数目1/25 1632. 矩阵转换后的秩1/26 1663. 具有给定数值的最小字符串1/27 2309. 兼具大小写的最好英文字母1/28 16…...

Hadoop组件Yarn常见命令

Hadoop组件Yarn常见命令 一、概述 当我们不能使用ResourceManager Web UI时,就需要使用Yarn命令来处理问题。因此,我们需要了解如何使用yarn命令监控YARN集群。 Hadoop的yarn命令具有广泛的使用范围: 它可以帮助我们管理大量的MR、Spark、Flink任务。例如获取和杀死正在运…...

QT之事件系统

QT之事件系统1. 概述2. 事件的传递3. 事件类型4. 事件处理与事件过滤5. 自定义事件5.1 Demo6. 发送事件7. 参考1. 概述 在QT中&#xff0c;事件均派生自QEvent抽象类&#xff0c;事件可以由任何派生自QObject的子类实例接收和处理。它们与widget关联性极强。 2. 事件的传递 …...

Python中__init__.py文件深入理解

Python中文件__init__.py深入理解1. 简介1.1 模块&#xff08;Module&#xff09;和包&#xff08;Package&#xff09;的概念1.2 __init__.py文件简介2. __init__.py内容写法2.1 __init__.py文件内容2.2 __init__.py内容解释1. 简介 1.1 模块&#xff08;Module&#xff09;和…...

Jmeter之实现参数化的不同方式详解

参数化简介 定义&#xff1a;动态的获取、设置或生成数据&#xff0c;是一种由程序驱动代替人工驱动的数据设计方案&#xff0c;提高脚本的编写效率以及编写质量 适用场景&#xff1a;当提交的数据量较大时&#xff0c;每次修改太麻烦&#xff0c;可以使用参数化 本文介绍实现…...

Matlab论文插图绘制模板第76期—半对数刻度折线图(Semilogx和Semilogy)

在之前的文章中&#xff0c;分享了Matlab双对数刻度折线图的绘制模板&#xff1a; 进一步&#xff0c;再来分享一下半对数刻度折线图的绘制模板。 先来看一下成品效果&#xff1a; 特别提示&#xff1a;Matlab论文插图绘制模板系列&#xff0c;旨在降低大家使用Matlab进行科研…...

【找工作】永善县政务服务管理局公开招聘5名公益性岗位人员

【找工作】永善县政务服务管理局公开招聘5名公益性岗位人员 为贯彻落实《中华人民共和国就业促进法》《就业服务和就业管理规定》&#xff0c;帮助有劳动能力和就业愿望的就业困难人员实现就业&#xff0c;永善县政务服务管理局拟向社会公开招聘公益性岗位人员5名&#xff0c;…...

【C++】从0到1入门C++编程学习笔记 - 提高编程篇:STL常用算法(拷贝和替换算法)

文章目录一、copy二、replace三、replace_if四、swap学习目标&#xff1a; 掌握常用的拷贝和替换算法 算法简介&#xff1a; copy // 容器内指定范围的元素拷贝到另一容器中replace // 将容器内指定范围的旧元素修改为新元素replace_if // 容器内指定范围满足条件的元素替换…...

C语言程序环境剖析——探究从.c到.exe之路

程序环境1.程序的翻译环境和执行环境2. 详解编译 链接2.1 翻译环境2.2 编译的三部分预编译编译汇编2.3链接3.运行环境1.程序的翻译环境和执行环境 在ANSI C的任何一种实现中&#xff0c;都存在两个不同的环境。 翻译环境&#xff0c;在这个环境中源代码被转换成可执行的机器指…...

【软件测试】8年资深测试总结出的测试学习经验,从入门到测试开发......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 测试圈子里有一句话…...

【博学谷学习记录】超强总结,用心分享|Spark的RDD算子分类

概念 RDD&#xff08;Resilient Distributed Dataset&#xff09;叫做弹性分布式数据集&#xff0c;是Spark中最基本的数据抽象&#xff0c;代表一个不可变、可分区、里面的元素可并行计算的集合&#xff0c;它是一种抽象的数据模型&#xff0c;本身并不存储数据&#xff0c;仅…...

云原生系列之使用 prometheus监控远程主机实战

文章目录前言一. 实验环境二. 安装node_exporter2.1 node_exporter的介绍2.2 node_exporter的安装三. 在prometheus服务端配置监控远程主机3.1 在server端配置拉取node的信息3.2 重启prometheus3.3 通过浏览器查看prometheus总结前言 大家好&#xff0c;又见面了&#xff0c;我…...

2023年地方两会政府工作报告汇总(各省市23年重点工作)

新年伊始&#xff0c;全国各地两会密集召开&#xff0c;各省、市、自治区2023年政府工作报告相继出炉&#xff0c;各地经济增长预期目标均已明确。相较于2022年&#xff0c;多地经济增长目标放缓&#xff0c;经济不断向“高质量”发展优化转型。今年是二十大后的开局之年&#…...

第一章 企业管理概论

目录 一、企业及其形式 二、企业管理概述 三、企业管理理论与实践的产生与发展 四、网络时代的企业环境 五、网络时代企业管理的变革 一、企业及其形式 1、企业的概念 企业以市场为导向&#xff0c;以价值增值作为经济活动的目的&#xff1b; 企业是从事商品生产和流通的…...

独立图片服务器有什么突出之处

服务器是网络中非常重要的设施&#xff0c;承载着不同流量的访问&#xff0c;这就要求服务器具有快速的吞吐量、高稳定性和高可靠性。独立图片服务器作为独立服务器的衍生品&#xff0c;在数据利用方面的应用可以为企业在数据处理和分析方面带来一场革命。本文就将介绍独立图片…...

Linux驱动开发基础__mmap

目录 1 引入 2 内存映射现象与数据结构 3 ARM 架构内存映射简介 3.1 一级页表映射过程 3.2 二级页表映射过程 4 怎么给 APP 新建一块内存映射 4.1 mmap 调用过程 ​编辑4.2 cache 和 buffer 4.3 驱动程序要做的事 5 编程 5.1 app编程 5.2 hello_drv_test…...

若依框架---为什么把添加和更新分成两个接口

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是小童&#xff0c;Java开发工程师&#xff0c;CSDN博客博主&#xff0c;Java领域新星创作者 &#x1f4d5;系列专栏&#xff1a;前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶 &#x1f4…...

图论算法:Floyd算法

文章目录Floyd算法例题&#xff1a;灾后重建Floyd算法 Floyd算法用于求图中任意两点之间的最短路径&#xff0c;该算法主要运用了动态规划的思想。 思考&#xff1a; 给你几个点与边&#xff0c;可以组成一张图&#xff0c;那么如何求得任意两点之间的最短路径呢&#xff1f;…...

回顾 | .NET MAUI 跨平台应用开发 - 用 .NET MAUI 开发一个无人机应用(下)

点击蓝字关注我们编辑&#xff1a;Alan Wang排版&#xff1a;Rani Sun微软 Reactor 为帮助广开发者&#xff0c;技术爱好者&#xff0c;更好的学习 .NET Core, C#, Python&#xff0c;数据科学&#xff0c;机器学习&#xff0c;AI&#xff0c;区块链, IoT 等技术&#xff0c;将…...

部署有多个仓库的svn服务

centos7自带svn服务&#xff0c;现需要创建多个仓库&#xff0c;并实现用户读写功能 创建svn版本库 mkdir /home/svn mkdir /home/svn/confmkdir /home/svn/yk1 mkdir /home/svn/yk2 svnadmin create /home/svn/yk1 svnadmin create /home/svn/yk2 进入版本库yk1的配置文件路…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...