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

LeetCode第332场周赛

2023.2.12LeetCode第332场周赛

6354. 找出数组的串联值

思路

双指针模拟,两个指针相遇的时候要特判

算法

class Solution {
public:long long findTheArrayConcVal(vector<int>& nums) {long long ans = 0;int i = 0, j = nums.size() - 1;while (i <= j) {if (i != j) {string s = to_string(nums[i]) + to_string(nums[j]);ans += stoll(s);} else {string s = to_string(nums[i]);ans += stoll(s);break;}i ++ , j -- ;}return ans;}
};

6355. 统计公平数对的数目

思路

计算在[lower, upper]之间满足条件的数目可以利用前缀和的思想转化为不超过upper和不超过lower-1的数量相减
遍历所有nums[j],找到前面的满足条件的nums[i]的数量,需要先对数组排序后进行二分

算法

class Solution {
public:typedef long long ll;ll calc(vector<int> &a, ll x) {ll res = 0;int n = a.size();for (int i = 1; i < a.size(); i ++ ) {int l = 0, r = i - 1;while (l < r) {int mid = l + r + 1 >> 1;if (a[i] + a[mid] <= x) l = mid;else r = mid - 1;}if (a[i] + a[l] <= x)res += l + 1;}return res;}long long countFairPairs(vector<int>& a, int lower, int upper) {sort(a.begin(), a.end());return calc(a, upper) - calc(a, lower - 1);}
};

6356. 子字符串异或查询

思路

由于val ^ first == second,根据异或运算性质,val = first ^ second
即找到val的二进制在给定字符串中最先出现的位置
暴力算法是记录s的所有子串,o(n2)会超时
由于二进制长度不会超过32位,故记录时只用对每个起点枚举32位的长度
最后查找结果即可

算法

class Solution {
public:vector<vector<int>> substringXorQueries(string s, vector<vector<int>>& queries) {vector<vector<int>> ans;unordered_map<string, int> mp;int n = s.size();for (int i = 0; i < n; i ++ )for (int j = i; j < n; j ++ ) {string t = s.substr(i, j - i + 1);if (j - i + 1 >= 32) break;if (!mp.count(t))mp[t] = i;}for (auto x : queries) {int t = x[0] ^ x[1];string a;while (t) {if (t & 1) a = '1' + a;else a = '0' + a;t >>= 1;}if (a.size() == 0) a = "0";if (mp.count(a)) ans.push_back({mp[a], mp[a] + (int)a.size() - 1});else ans.push_back({-1, -1});}return ans;}
};

相关文章:

LeetCode第332场周赛

2023.2.12LeetCode第332场周赛 6354. 找出数组的串联值 思路 双指针模拟&#xff0c;两个指针相遇的时候要特判 算法 class Solution { public:long long findTheArrayConcVal(vector<int>& nums) {long long ans 0;int i 0, j nums.size() - 1;while (i <…...

2023-2-12刷题情况

字母板上的路径 题目描述 我们从一块字母板上的位置 (0, 0) 出发&#xff0c;该坐标对应的字符为 board[0][0]。 在本题里&#xff0c;字母板为board [“abcde”, “fghij”, “klmno”, “pqrst”, “uvwxy”, “z”]&#xff0c;如下所示。 我们可以按下面的指令规则行动…...

拉普拉斯矩阵

拉普拉斯算子 Δff(xi1,yj)f(xi−1,yj)f(xi,yj1)f(xi,yj−1)−4f(xi,yj)∑(k,l)∈N(i,j)(f(xk,yl)−f(xi,yj))\begin{aligned} \Delta f & f\left(x_{i1}, y_j\right) f\left(x_{i-1},y_j\right) f\left(x_i,y_{j1}\right)f\left(x_i,y_{j-1}\right) - 4f\left(x_i,y_j\r…...

Top-1错误率、Top-5错误率等常见的模型算法评估指标解析

Top-1 错误率&#xff1a;指预测输出的概率最高的类别与人工标注的类别相符的准确率&#xff0c;就是你预测的label取最后概率向量里面最大的那一个作为预测结果&#xff0c;如过你的预测结果中概率最大的那个分类正确&#xff0c;则预测正确&#xff0c;否则预测错误。比如预测…...

Urho3D 容器类型

Urho3D实现了自己的字符串类型和模板容器&#xff0c;而不是使用STL。其基本原理如下&#xff1a; 在某些情况下提高了性能&#xff0c;例如使用PODVector类时。保证字符串和容器的二进制大小&#xff0c;以允许例如嵌入Variant对象内。减少了编译时间。直接命名和实现&#x…...

C语言学习笔记(四): 循环结构程序设计

while语句 定义 While语句是C语言中的循环语句&#xff0c;它按条件循环执行语句&#xff0c;直到条件不满足为止 语法格式如下: while(condition) {//循环体内容; }使用实例 求123…100 include <stdio.h> int main(){int i 1, sum 0;while (i<100){sum i …...

02 OpenCV图像通道处理

1 通道提取与合并 在数字图像处理中&#xff0c;图像通道是指一个图像中的颜色信息被分离为不同的颜色分量。常见的图像通道包括RGB通道、灰度通道、HSV通道等。 RGB通道是指将图像分离为红色、绿色和蓝色三个颜色通道&#xff0c;每个通道表示相应颜色的亮度。这种方式是最常…...

微信小程序图书馆座位预约管理系统

开发工具&#xff1a;IDEA、微信小程序服务器&#xff1a;Tomcat9.0&#xff0c; jdk1.8项目构建&#xff1a;maven数据库&#xff1a;mysql5.7前端技术&#xff1a;vue、uniapp服务端技术&#xff1a;springbootmybatis本系统分微信小程序和管理后台两部分&#xff0c;项目采用…...

有限元分析学习一

系列文章目录 有限元分析学习一 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、有限元方法的简单介绍1.1 有限元的基础概念1.2 有限元软件发展历史1.3 有限元软件二、弹性力学的简单介绍2.1.…...

android avb2.0 总结

1、android vbmeta结构深入解析 2、android libavb深入解读 看完结构与代码,进一步了解了avb 比如vbmeta的结构、5种描述符、hash公钥签名存储位置 多层vbmeta结构、无vbmeta分区的验证逻辑、hash计算对比、公钥验证、签名验签、5种描述符体的处理 但是还有一些问题没有解决 如…...

聊天机器人-意图识别类,开源库推荐

随着人工智能和自然语言处理技术的不断发展&#xff0c;聊天机器人在商业、教育、医疗等领域的应用越来越广泛。因此&#xff0c;开源聊天机器人代码库也逐渐成为了热门话题。 开源聊天机器人代码库可以帮助开发者快速构建功能强大的聊天机器人&#xff0c;而不必从头开始编写…...

Java 标识符以及修饰符

Java 标识符Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。关于 Java 标识符&#xff0c;有以下几点需要注意&#xff1a;所有的标识符都应该以字母&#xff08;A-Z 或者 a-z&#xff09;,美元符&#xff08;$&#xff09;、或者下划线&#xff08;_&…...

封装、继承、Super、重写、多态instanceof类型转换的使用以及个人见解

这里写目录标题封装继承supersuper和this的区别重写多态instanceof类型转换封装 之前我们调用共有的属性&#xff0c;是直接可以调用的 但是属性私有后&#xff0c;无法在直接.调用 只能通过getset调用 继承 super 可以直接调用父类中属性和方法&#xff0c;私有的无法做 其…...

day13_面向对象的三大特征之一(封装)

封装概述 为什么需要封装&#xff1f; 现实生活中&#xff0c;每一个个体与个体之间是有边界的&#xff0c;每一个团体与团体之间是有边界的&#xff0c;而同一个个体、团体内部的信息是互通的&#xff0c;只是对外有所隐瞒。例如&#xff1a;我们使用的电脑&#xff0c;内部…...

越界访问数组

越界访问是指访问&#xff08;操作修改&#xff09;了不属于自己的空间 我们以如下代码为例&#xff1a;此代码在vs中进行 #include <stdio.h> int main() {int i 0;int arr[] {1,2,3,4,5,6,7,8,9,10};for(i0; i<12; i){arr[i] 0;printf("hello\n");}r…...

软件设计(十)--计算机系统知识

软件设计&#xff08;九&#xff09;https://blog.csdn.net/ke1ying/article/details/128990035 一、效验码 奇偶效验&#xff1a;是一种最简单的效验方法。基本思想是&#xff1a;通过在编码中增加一个效验位来使编码中1的个数为奇数&#xff08;奇效验&#xff09;或者为偶…...

【不知道是啥】浅保存哈

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…...

2021 WAIC 世界人工智能大会参会总结

前言 2021 年世界人工智能大会&#xff08;WAIC&#xff09;于2021年7月7日至10日在上海世博展览馆举办&#xff0c;本届大会继续秉持「智联世界」的理念&#xff0c;以「众智成城」为主题&#xff0c;促进全球人工智能创新思想、技术、应用、人才和资本的集聚和交流&#xff…...

ThingsBoard-实现定时任务调度器批量RPC

1、概述 ThingsBoard-CE版是不支持调度器的,只有PE版才支持,但是系统中很多时候需要使用调度器来实现功能,例如:定时给设备下发rpc查询数据,我们如何来实现呢?下面我将教你使用巧妙的方法来实现。 2、使用什么实现 我们可以使用规则链提供的一个节点来实现,这个节点可…...

MySQL数据库调优————数据库调优维度及测试数据准备

MySQL性能优化金字塔法则 不合理的需求&#xff0c;会造成很多问题。&#xff08;比如未分页&#xff0c;数据需要多表联查等&#xff09;做架构设计的时候&#xff0c;应充分考虑业务的实际情况&#xff0c;考虑好数据库的各种选择&#xff08;比如是否要读写分离&#xff0c;…...

别再默认用E1000了!VMware虚拟机网卡选VMXNET3还是E1000E?实测数据告诉你答案

VMware虚拟机网卡性能实战&#xff1a;从理论到选型决策树 在虚拟化环境中&#xff0c;网络性能往往是决定整体系统效率的关键瓶颈之一。作为一名长期奋战在VMware运维一线的技术专家&#xff0c;我见过太多因为网卡选型不当导致的性能问题——从莫名其妙的网络延迟到令人抓狂的…...

Navicat导入Excel实战:从数据准备到成功入库的完整避坑指南

1. 数据准备&#xff1a;Excel规范整理实战 第一次用Navicat导入Excel时&#xff0c;我对着报错提示整整折腾了两小时。后来才发现&#xff0c;90%的问题都出在数据准备阶段。就像做饭前要洗菜切配&#xff0c;数据导入前也需要做好这些准备工作&#xff1a; 字段命名要像给变量…...

云原生本地开发新范式:LDLT方法论与实践指南

1. 项目概述&#xff1a;从“LDLT”看云原生时代的本地开发范式革新如果你是一名云原生应用的开发者&#xff0c;大概率经历过这样的场景&#xff1a;为了调试一个微服务&#xff0c;你需要在本地启动一整套依赖——数据库、消息队列、缓存、甚至其他几个关联服务。你的开发机内…...

本地化AI编码助手codex-assistant:部署、实战与安全指南

1. 项目概述&#xff1a;一个本地化的AI编码助手最近在折腾一个挺有意思的开源项目&#xff0c;叫codex-assistant。简单来说&#xff0c;它就是一个能让你用自然语言直接驱动本地代码任务的工具。想象一下&#xff0c;你对着一个命令行窗口说“给我写个Python函数&#xff0c;…...

从‘一个材质’到‘上百个Shader’:用UE4材质实例化彻底搞懂Static Switch的代价与正确用法

从‘一个材质’到‘上百个Shader’&#xff1a;UE4材质实例化中Static Switch的陷阱与优化实践 在Unreal Engine 4的材质创作中&#xff0c;Static Switch Parameter&#xff08;静态开关参数&#xff09;就像一把双刃剑——它能让美术师快速切换不同材质效果&#xff0c;却也暗…...

深度相机三剑客:TOF、双目与结构光的场景化选型指南

1. 深度相机技术入门&#xff1a;从原理到应用 第一次接触深度相机时&#xff0c;我被各种技术名词搞得晕头转向。TOF、双目、结构光听起来都很高大上&#xff0c;但到底有什么区别&#xff1f;经过多年项目实战&#xff0c;我发现这三种技术就像不同的"眼睛"&#…...

从学生成绩表到销售报表:手把手教你用ag-grid列组/行组构建复杂业务表格

企业级销售报表实战&#xff1a;用ag-grid行组与列组构建动态分析系统 当业务数据从Excel迁移到前端可视化系统时&#xff0c;开发团队常面临多维分析的挑战。某零售企业曾因无法实时查看"华东区→浙江省→杭州市"三级维度下的季度销售趋势&#xff0c;导致错失库存调…...

从荧光灯到充电器:剖析MJE13001高压小功率三极管的实战选型与参数验证

1. MJE13001三极管的前世今生 第一次见到MJE13001这颗三极管是在修理一台老式荧光灯电子镇流器时。当时电路板上那颗黑乎乎的小元件已经烧得发黄&#xff0c;但依稀能看到"13001"的标识。拆下来用万用表测量发现CE结已经击穿&#xff0c;换上新的MJE13001后&#xf…...

Git 入门教程:从命令行到 IDE 集成

文章目录Git 入门教程&#xff1a;从命令行到 IDE 集成一、环境准备与初始配置1.1 安装 Git1.2 配置用户身份2.2 查看仓库状态2.3 添加文件到暂存区2.4 提交文件到本地仓库2.5 查看历史版本2.6 版本回退2.7 删除文件三、Git 分支操作&#xff08;多人协作核心&#xff09;3.1 分…...

告别编译报错:解决Windows下QGC源码编译中C2220等常见错误的实战记录

告别编译报错&#xff1a;解决Windows下QGC源码编译中C2220等常见错误的实战记录 当你满怀期待地克隆完QGroundControl源码&#xff0c;配置好Visual Studio和Qt环境&#xff0c;却在编译阶段遭遇红色错误提示时&#xff0c;那种挫败感我深有体会。特别是看到QGCTileCacheWork…...