【力扣周赛#334】6369. 左右元素和的差值 + 6368. 找出字符串的可整除数组 + 6367. 求出最多标记下标

news2024/11/28 0:58:29

目录

6369. 左右元素和的差值 - 前缀后缀和 ac

6368. 找出字符串的可整除数组 - 操作余数ac

6367. 求出最多标记下标 - 二分答案 + 贪心


6369. 左右元素和的差值 - 前缀后缀和 ac

class Solution {
    public int[] leftRigthDifference(int[] nums) {
        int n=nums.length;
        int[] res=new int[n];
        int[] l=new int[1010],r=new int[1010];
        int[] s=new int[1010],t=new int[1010];
        
        
        for(int i=1;i<=n;i++) s[i]=s[i-1]+nums[i-1];
        
        for(int i=n;i>=1;i--) t[i]=t[i+1]+nums[i-1];
        
        for(int i=0;i<n;i++) l[i]=s[i];
        
        int cnt=0;
        for(int i=2;i<=n+1;i++) r[cnt++]=t[i];
        
        for(int i=0;i<n;i++) res[i]=Math.abs(r[i]-l[i]);
        return res;
    }
}

6368. 找出字符串的可整除数组 - 操作余数ac

6368. 找出字符串的可整除数组

思路:

暴力取字符串每一段,组合成的数最大有10^5位,肯定tle

所以我们对每一位取余,把余数*10加到下一个数上

如果%m为0,说明0~i位可以整除,否则不能

class Solution {
    public int[] divisibilityArray(String s, int m) {
        int n=s.length();
        int[] res=new int[n];
        long x=0;
        for(int i=0;i<n;i++)
        {
            int t=s.charAt(i)-'0';
            
            x=(t+10*x)%m;
            if(x==0) res[i]=1;
            else res[i]=0;
        }
        return res;
    }
}

 

6367. 求出最多标记下标 - 二分答案 + 贪心

6367. 求出最多标记下标

题目:

思路:

如果可以匹配k对,则将答案放大,直到不能满足匹配条件,则能二分出最大值

想要匹配对数最大,则nums[i]越小,nums[j]越大越好

则就是排序后,最小的k个数和最大的k个数匹配

nums[0]跟nums[n-k]匹配,则nums[i]跟nums[n-k+i]匹配

二分答案,如果该k对都能一一满足条件,则答案放大,否则放小

最后答案就是2*k

class Solution {
    public int maxNumOfMarkedIndices(int[] nums) {
        Arrays.sort(nums);
        int l=0,r=nums.length/2;
        while(l<r)
        {
            int mid=l+r+1>>1;
            if(ck(nums,mid)) l=mid;
            else r=mid-1;
        }
        return l*2;
    }

    public boolean ck(int[] nums,int k)
    {
        for(int i=0;i<k;i++)
            if(nums[i]*2>nums[nums.length-k+i]) return false;
        return true;
    }
}

 

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

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

相关文章

开发同事辞职,接手到垃圾代码怎么办?

小王新加入了一家公司&#xff0c;这家公司有点年头&#xff0c;所以连屎山都是发酵过的&#xff0c;味道很冲。和大多数时运不济的程序员一样&#xff0c;到了这种公司&#xff0c;做的大多数工作&#xff0c;就是修补这些祖传代码&#xff0c;为其添砖加瓦。每当被折腾的筋疲…

ChatGPT的互补工具Perplexity的详细使用方法(持续更新)

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,科大讯飞比赛第三名,CCF比赛第四名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

Leetcode.1372 二叉树中的最长交错路径

题目链接 Leetcode.1372 二叉树中的最长交错路径 Rating &#xff1a; 1713 题目描述 给你一棵以 root为根的二叉树&#xff0c;二叉树中的交错路径定义如下&#xff1a; 选择二叉树中 任意 节点和一个方向&#xff08;左或者右&#xff09;。如果前进方向为右&#xff0c;那…

idea中maven只有Lifecycle,没有Dependencies

原因是idea和maven版本不兼容问题 我用的是idea2021&#xff0c;maven3.8.6 改成低版本maven就行了

(四十四)多个事务更新同一行数据时,是如何加锁避免脏写的?

之前我们已经用很多篇幅给大家讲解了多个事务并发运行的时候&#xff0c;如果同时要读写一批数据&#xff0c;此时读和写时间的关系是如何协调的&#xff0c;毕竟要是你不协调好的话&#xff0c;可能就会有脏读、不可重复读、幻读等一系列的问题。 简单来说&#xff0c;脏读、…

SpringMvc中HandlerAdapter组件的作用

概述 我们在使用springMVC时&#xff0c;都知道其中不仅包含handlerMapping组件还包含handlerAdapter组件&#xff0c;为什么呢&#xff1f; springMVC请求流程图 HandlerAdapter组件使用了适配器模式 适配器模式的本质是接口转换和代码复用&#xff0c;这里使用适配器模式的…

房屋出租管理系统

1. 铺垫 1.1 项目真实开发的过程 上来要做什么&#xff1f;&#xff1f;&#xff1f;&#xff1f; 有电脑—》配环境&#xff08;JDK、IDEA、MAVEN……&#xff09; 这个项目&#xff1a;房屋管理系统 从什么角度出发&#xff0c;第一步做什么&#xff1f;&#xff1f; 架构 …

晶体塑性有限元 Abaqus 三维泰森多边形(voronoi模型)插件 V7.0

1 上一版本完整功能介绍&#xff1a; Voronoi晶体插件-6.0版本[新功能介绍] 晶体塑性有限元 Abaqus 三维泰森多边形&#xff08;voronoi模型&#xff09;插件 V6.0 2 新增功能模块 7.0版本新增功能模块包括&#xff1a;柱状晶体模块和分层晶体模块。 2.1 二维柱状晶体模块 …

macOS使用CodeRunner快速配置fortran环境

个人网站:xzajyjs.cn 由于一些项目的缘故&#xff0c;需要有fortran的需求&#xff0c;但由于是M1 mac的缘故&#xff0c;不能像windows那样直接使用vsivf这种经典配置。搜了一下网上主流的跨平台方案&#xff0c;主要是gfortran&#xff0c;最近用Coderunner&#xff08;主要…

【Linux】网络套接字编程

前言 在掌握一定的网络基础&#xff0c;我们便可以先从代码入手&#xff0c;利用UDP协议/TCP协议进行编写套接字程序&#xff0c;明白网络中服务器端与客户端之间如何进行连接并且通信的。 目录 一、了解源目的IP、端口、网络字节序、套接字 端口号&#xff1a; 套接字&…

深入探究文件I/O

目录Linux 系统如何管理文件静态文件与inode文件打开时的状态返回错误处理与errnostrerror 函数perror 函数exit、_exit、_Exit_exit()和_Exit()函数exit()函数空洞文件概念实验测试O_APPEND 和O_TRUNC 标志O_TRUNC 标志O_APPEND 标志多次打开同一个文件验证一些现象多次打开同…

MS9132是一款USB 3 0投屏芯片,内部集成USB 3 0 Device控制器、数据收发模块、音视频处理模块

MS9132是一款USB 3.0投屏芯片&#xff0c;内部集成USB 3.0 Device控制器、数据收发模块、音视频处理模块。MS9132可以通过USB 3.0接口将PC、智能手机、平板电脑上的信息显示或扩展到更大尺寸的显示设备&#xff0c;支持HDMI视频接口输出。 主要功能特征 HDMI 1.4b兼容 支持EDI…

C语言汉诺塔问题【图文详解】

汉诺塔1. 什么是汉诺塔2. 有关汉诺塔的有趣故事3. 利用动画来演示汉诺塔4. 如何用C语言实现汉诺塔1. 什么是汉诺塔 源于印度古老传说的益智玩具 汉诺塔&#xff08;Tower of Hanoi&#xff09;&#xff0c;又称河内塔&#xff0c;是一个源于印度古老传说的益智玩具。大梵天创造…

一起Talk Android吧(第五百零六回:如何调整组件在约束布局中的角度)

文章目录背景介绍相关属性使用方法示例程序各位看官们大家好&#xff0c;上一回中咱们说的例子是"如何调整组件在约束布局中的大小",这一回中咱们说的例子是"如何调整组件在约束布局中的角度"。闲话休提&#xff0c;言归正转&#xff0c; 让我们一起Talk A…

2、算法先导---思维能力与工具

题目 碎纸片的拼接复原(2013B) 内容 破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。传统上&#xff0c;拼接复原工作需由人工完成&#xff0c;准确率较高&#xff0c;但效率很低。特别是当碎片数量巨大&#xff0c;人工拼接很难在短时…

QT之OpenGL混合

QT之OpenGL混合1. 概述2. 实现2.1 丢弃片段2.1.1 Demo2.2 混合2.2.1 相关函数2.2.2 排序问题2.2.3 Demo1. 概述 OpenGL中&#xff0c;混合(Blending)通常是实现物体透明度(Transparency)的一种技术。 2. 实现 2.1 丢弃片段 在某些情况下&#xff0c;有些片段是只需要设置显…

尚医通(二十四)微信退款(取消预约功能)

目录一、取消预约1、需求描述2、开发取消预约接口一、取消预约 1、需求描述 取消订单分两种情况&#xff1a; &#xff08;1&#xff09;未支付取消订单&#xff0c;直接通知医院更新取消预约状态 &#xff08;2&#xff09;已支付取消订单&#xff0c;先退款给用户&#xff…

《程序是如何跑起来的》-----读书笔记篇

程序是如何跑起来的前言磁盘与内存的关系虚拟内存dll 文件运行环境从源文件到可执行文件前言 不得不说&#xff0c;在这个假期借助“微信阅读”读到了很多有意义的书。不仅是思想境界上的&#xff0c;还有专业方向的。这一次我是在周三还是周四的一个活动中淘到了这本书&#x…

Nginx的介绍、安装与常用命令

前言&#xff1a;传统结构上(如下图所示)我们只会部署一台服务器用来跑服务&#xff0c;在并发量小&#xff0c;用户访问少的情况下基本够用但随着用户访问的越来越多&#xff0c;并发量慢慢增多了&#xff0c;这时候一台服务器已经不能满足我们了&#xff0c;需要我们增加服务…