LeetCode 每日一题 2023/2/27-2023/3/5
记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步
目录
- 2/27 1144. 递减元素使数组呈锯齿状
- 2/28 2363. 合并相似的物品
- 3/1 2373. 矩阵中的局部最大值
- 3/2 面试题 05.02. 二进制数转字符串
- 3/3 1487. 保证文件名唯一
- 3/4 982. 按位与为零的三元组
- 3/5
2/27 1144. 递减元素使数组呈锯齿状
两种情况 第一种奇数位的小 第二种偶数位的小
从头遍历
def movesToMakeZigzag(nums):""":type nums: List[int]:rtype: int"""n = len(nums)ans1,ans2 = 0,0for i in range(n):tmp1,tmp2 = 0,0if i%2==0:if i>0 and nums[i]>=nums[i-1]:tmp1 = nums[i]-nums[i-1]+1if i<n-1 and nums[i]>=nums[i+1]:tmp2 = nums[i]-nums[i+1]+1ans1 += max(tmp1,tmp2)else:if nums[i]>=nums[i-1]:tmp1 = nums[i]-nums[i-1]+1if i<n-1 and nums[i]>=nums[i+1]:tmp2 = nums[i]-nums[i+1]+1ans2 += max(tmp1,tmp2)return min(ans1,ans2)
2/28 2363. 合并相似的物品
依次遍历 vlist记录所有出现过的价值
集合统计每个价值的重量和
def mergeSimilarItems(items1, items2):""":type items1: List[List[int]]:type items2: List[List[int]]:rtype: List[List[int]]"""m = {}vlist = set()for v,w in items1:m[v] = m.get(v,0)+wvlist.add(v)for v,w in items2:m[v] = m.get(v,0)+wvlist.add(v)ans = []for v in sorted(list(vlist)):ans.append([v,m[v]])return ans
3/1 2373. 矩阵中的局部最大值
每行每列依次寻找相连三格最大值
def largestLocal(grid):""":type grid: List[List[int]]:rtype: List[List[int]]"""n = len(grid)tmp = [[0]*n for _ in range(n)]for i in range(n):for j in range(1,n-1):tmp[i][j] = max(grid[i][j-1],grid[i][j],grid[i][j+1])ans = [[0]*n for _ in range(n)]for i in range(n):for j in range(1,n-1):ans[j][i] = max(tmp[j][i],tmp[j-1][i],tmp[j+1][i])return [ans[i][1:n-1] for i in range(1,n-1)]
3/2 面试题 05.02. 二进制数转字符串
小数点后一位一位相加 直至超过32位
def printBin(num):""":type num: float:rtype: str"""curr = 1.0ans = "0."while len(ans)<32:curr = curr/2if num>=curr:num-=currans+="1"else:ans+="0"if num==0:return ansreturn "ERROR"
3/3 1487. 保证文件名唯一
map存储所有出现过的名字 并记录其当前编号
def getFolderNames(names):""":type names: List[str]:rtype: List[str]"""ans = []m = {}for name in names:if name not in m:ans.append(name)m[name]=1else:ind = m[name]while name+'('+str(ind)+')' in m:ind+=1cur = name+'('+str(ind)+')'ans.append(cur)m[name] = ind+1m[cur] = 1return ans
3/4 982. 按位与为零的三元组
先统计两数相与能够得到的结果cnt
再依次统计每个数在cnt中有多少能与其相与为0
def countTriplets(nums):""":type nums: List[int]:rtype: int"""cnt = [0]*(1<<16)for i in nums:for j in nums:cnt[i&j] +=1ans = 0for num in nums:target = num ^ 0xffffs = targetwhile True:ans += cnt[s]s = (s-1)&targetif s==target:breakreturn ans
3/5
相关文章:
LeetCode 每日一题 2023/2/27-2023/3/5
记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录2/27 1144. 递减元素使数组呈锯齿状2/28 2363. 合并相似的物品3/1 2373. 矩阵中的局部最大值3/2 面试题 05.02. 二进制数转字符串3/3 1487. 保证文件名唯一3/4 982. 按位与为…...
SpringMVC中JSON数据的设置、RestFul风格
Java知识点总结:想看的可以从这里进入 目录3.4、JSON数据3.4.1、前端使用3.4.2、后端使用1、Jackson2、fastjson3.5、RestFul风格3.5.1、简介3.5.2、使用3.4、JSON数据 3.4.1、前端使用 前端在JavaScript中有封装的JSON对象,可以直接用来操作JSON数据。…...
Clion连接Docker,使用HElib库
文章目录需求Clion连接服务器内的DockerDockerCLionDocker内配置HElib库参考需求 HElib库是用C编写的同态加密开源库,一般在Linux下使用为了不混淆生产环境,使用Docker搭建HElib运行环境本地在Windows下开发,使用的IDE为Clion,本…...
go网络编程-websocket
1. WebSocket编程 文章目录1. WebSocket编程1.1.1. webSocket是什么1.1.2. 举个聊天室的小例子server.go文件代码hub.go文件代码data.go文件代码local.html文件代码1.1.1. webSocket是什么 WebSocket是一种在单个TCP连接上进行全双工通信的协议 WebSocket使得客户端和服务器之…...
Microsoft designer 使用教程
继各种ai绘图软件诞生之后 dell 2 playground.... 微软自己研发的重量级产品 Microsoft designer 上线了 Microsoft Designer 是微软公司推出的一款设计工具,主要用于快速创建Web和移动应用程序的原型设计。它提供了一系列的工具和模板,可以帮助用户…...
《Docker系列》Docker容器修改配置文件后,重启失败,如何修改配置并启动容器?
Docker容器修改配置文件后,重启失败,如何修改配置并启动容器? docker部署的MySQL容器,修改了my.cnf配置文件,重启的时候导致无法启动 通过查日志发现,配置文件中的binlog-db-dbhw写错了,应该是…...
遇到多个构造器参数时要考虑使用构建器
静态工厂和构造器有个共同的局限性:他们都不能很好地扩展到大量的可选参数。比如用一个类表示包装食品外面显示的营养成分标签(包括必选域和可选域)。 重叠构造器 对于这样的类一般习惯采用重叠构造器(telescoping constructor&…...
【Storm】【五】Storm集成Kafka
Storm集成Kafka 一、整合说明二、写入数据到Kafka三、从Kafka中读取数据一、整合说明 Storm 官方对 Kafka 的整合分为两个版本,官方说明文档分别如下: Storm Kafka Integration : 主要是针对 0.8.x 版本的 Kafka 提供整合支持;Storm Kafka …...
GVRP-LNP-VCMP讲解
目录 GVRP讲解 动态创建Vlan并将端口加入Vlan GVRP消息类型 GVRP工作原理 LNP讲解 动态修改接口链路类型 VCMP讲解 动态创建Vlan 相关概念 Vlan同步 VCMP与GVRP的区别 GVRP讲解 动态创建Vlan并将端口加入Vlan GVRP(GARR Vlan Registration Protocol…...
28个精品Python爬虫实战项目
先来说说Python的优势!然后给大家看下这28个实战项目的实用性!Python跟其他语言相比,有以下优点:1. 简单Python是所有编程语言里面,代码量最低,非常易于读写,遇到问题时,程序员可以把…...
相信人还是相信ChatGPT,龙测首席AI专家给出了意料之外的答案
最近,关于ChatGPT的话题太火了!各大社交软件都是他的消息!从去年12月份ChatGPT横空出世,再到近期百度文心一言、复旦Moss的陆续宣布,点燃了全球对AIGC(内容人工智能自动生成)领域的热情…...
安卓逆向_5 --- jeb 和 AndroidStudio 动态调试 smali
Jeb 工具的使用 :https://www.52pojie.cn/forum.php?modviewthread&tid742250:https://zhuanlan.zhihu.com/p/302856081动态调试 smali 有两种方法: Jeb 调试AndroidStudio smalidea 插件动态调试。1、Jeb 动态调试 smali JEB是一个…...
docker-容器命令
1.新建启动 docker run options image command [arg..] options: --name"容器新名字" -d:后台运行程序 -it:交互式运行 -P: 随机端口 -p: 指定端口 docker run -it ubuntu /bin/bash docker run -it ubuntu:v1 /bin/bash docker run -it 1c352…...
Spring——是什么?作用?内容?用到的设计模式?
目录 什么是spring? spring是为了解决什么问题而衍生的?(历史)Spring解决了实际生产中的什么问题? spring包含了哪些部分?(组成) Spring的特点是什么? spring框架中…...
Qt交叉编译环境搭建
环境及版本: 编译机:Deepin 20.3 Qt 5.12.9 arm编译工具: gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-gnueabihf.tar.xz 运行机:创龙335X开发板 1.下载arm编译工具: gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-…...
Java switch case 语句
Java 的 switch case 语句是一种常用的控制流语句,用于基于不同的输入值执行不同的操作。本文将详细介绍 Java switch case 语句的作用、用法以及在实际工作中的应用。 一、switch case 语句的作用 switch case 语句是一种多分支条件语句,它基于不同的输…...
Linux下MQTT客户端消息订阅与发布实现
MQTT(消息队列遥测传输)是一个基于客户端-服务器的消息发布/订阅传输协议。它基于TCP协议,默认端口号为1883,为此,它也需要一个消息中间件 。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下…...
代码规范----编程规约(下)
目录 四、OOP规约 五、日期时间 六、集合处理 四、OOP规约 (1)、避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可 (2)、所有的覆写方法࿰…...
c++连接mysql
开始想用mysql connector/c8.0 来操作数据库cmake加上配置后一直编译错误 我这里也没有截屏编译错误大概意思是driver.h里面声明的一个check_lib函数里面用了一个未定义的check找遍了资料都没有找到解决办法最后还是用了原始API如果有人有解决办法请留个位置先上在用的cmake配置…...
CentOS7操作系统安装nginx实战(多种方法,超详细)
文章目录前言一. 实验环境二. 使用yum安装nginx2.1 添加yum源2.1.1 使用官网提供的源地址(方法一)2.1.2 使用epel的方式进行安装(方法二)2.2 开始安装nginx2.3 启动并进行测试2.4 其他的一些用法:三. 编译方式安装ngin…...
EmuELEC 3.9 vs 4.0+:不同版本写入EMMC的详细操作指南(附常见问题解决)
EmuELEC 3.9与4.0版本EMMC写入全流程实战解析 1. 版本差异与核心机制解析 EmuELEC作为开源游戏系统,其3.9与4.0版本在EMMC写入机制上存在根本性架构差异。理解这些差异是避免操作失误的前提。 3.9版本的技术特点: 采用传统的installtointernal.sh脚本…...
除了阿里云,还有哪些靠谱的身份证实名认证方案?SpringBoot整合横向评测
SpringBoot整合主流身份证实名认证API横向评测:从阿里云到多服务商技术选型指南 当你的应用需要接入身份证实名认证功能时,阿里云可能只是众多选项中的一个起点。作为技术决策者,如何在腾讯云、百度智能云、聚合数据等众多服务商中做出最优选…...
探秘书匠策AI:毕业论文创作的“全能助手”大揭秘
在学术探索的征途中,毕业论文如同一座巍峨的山峰,让无数学生既心怀憧憬又倍感压力。从选题迷茫到文献海捞,从结构搭建到内容雕琢,每一步都充满了挑战。但别怕,今天我们就来揭秘一位学术界的“全能助手”——书匠策AI&a…...
RTK定位从入门到实践:如何利用千寻服务和Ntrip协议,让你的无人机定位精度达到厘米级?
RTK定位从入门到实践:如何利用千寻服务和Ntrip协议实现厘米级无人机定位 当无人机在农田上方悬停时,1米的定位误差可能导致农药喷洒完全错过目标作物;当测绘无人机进行地形扫描时,几厘米的高度误差可能使整个3D建模数据失效。这就…...
Qwen2.5-VL-7B-Instruct开源大模型:支持中文优先的多模态理解部署方案
Qwen2.5-VL-7B-Instruct开源大模型:支持中文优先的多模态理解部署方案 1. 项目概述 Qwen2.5-VL-7B-Instruct是一款开源的视觉-语言多模态大模型,特别针对中文场景进行了优化。该模型能够同时处理图像和文本输入,实现跨模态的理解与生成任务…...
nli-distilroberta-base参数解析与调优指南:关键配置项详解
nli-distilroberta-base参数解析与调优指南:关键配置项详解 1. 引言 如果你正在使用nli-distilroberta-base模型进行自然语言推理任务,可能会遇到这样的困惑:为什么同样的模型在不同机器上运行速度差异这么大?为什么有时候推理结…...
别再手动调格式了!用C#和FastReport.Net搞定标签批量打印与90度旋转(附完整源码)
C#与FastReport.Net实战:打造高可用的标签批量打印与旋转解决方案 在仓储管理、物流配送和零售价签打印等场景中,开发人员经常需要处理各种规格的标签打印需求。传统的手动调整方式不仅效率低下,而且难以应对频繁变化的业务需求。本文将分享如…...
SmallThinker-3B-Preview部署教程:边缘设备一键运行的保姆级指南
SmallThinker-3B-Preview部署教程:边缘设备一键运行的保姆级指南 想试试在树莓派或者你的旧笔记本上跑一个自己的AI助手吗?今天要聊的SmallThinker-3B-Preview,可能就是你的菜。它是个小个子,但本事不小,专门为那些内…...
Java微服务集成TranslateGemma:企业级翻译中台构建
Java微服务集成TranslateGemma:企业级翻译中台构建 1. 为什么需要企业级翻译中台 最近在给一家跨境电商平台做技术咨询时,客户提到一个很实际的问题:他们的客服系统、商品管理系统、营销内容平台各自维护着不同的翻译逻辑。客服用的是第三方…...
告别混乱文件管理:用NERDTree打造VIM项目导航系统
告别混乱文件管理:用NERDTree打造VIM项目导航系统 每次打开一个包含数百个文件的复杂项目时,你是否会感到一阵眩晕?当你在多个目录间反复切换查找某个配置文件时,是否觉得时间在指尖悄然流逝?对于资深VIM用户而言&…...
