LeetCode_单周赛_330

news2024/11/15 12:38:08

6337. 统计桌面上的不同数字

在这里插入图片描述

代码

后面出现的数字都是小于 n 的。
n = 1 时,答案是 1。
n > 1时:

  • 第一天,n % (n - 1) == 1,n - 1会被加入
  • 第二天,(n - 1) % (n - 2) == 1,n - 2 被加入

递推,一直到 2 的时候,不会加入 1,因为任何数 mod 1 都是 0,且共 1e9 天来加入数字,远大于 100,一定可以把该加入的都加入,所以共有 (n - 1) 个数字

注意特判 n 为 1 的情况

class Solution {
    public int distinctIntegers(int n) {
        if (n == 1) return 1;
        return n - 1;
    }
}

6338. 猴子碰撞的方法数

在这里插入图片描述

代码

每个猴子都有两种移动的方向,那么总的情况数就是 2^n

求发生碰撞的数量,太多了,我们反过来求,求碰撞的数量
正难则反
查看案例,发现不发生碰撞的情况只有两种:同时顺时针 / 逆时针
所以题目转化为了求 pow(2, n) - 2 % MOD 的形式
直接采用快速幂即可,但是因为快速幂之后要 减二,会产生负数,所以我们 减2 之后加上 mod,再进行取模
(quick_power(2, n, MOD) - 2 + MOD) % MOD

题目有些歧义,说的是 移动后 位于同一顶点才算碰撞,但是样例给定的是移动中碰撞也算了。
例如当 n = 4 时上面两个左右交换,下面两个左右交换,也不冲突,但是样例没有算。

class Solution {
    public int monkeyMove(int n) {
        int MOD = 1000000007;
        return (quick_power(2L, n, MOD) - 2 + MOD) % MOD;
    }

    private static int quick_power(long a, long b, long p) {
        long ans = 1;
        while (b > 0) {
            if ((b & 1) == 1) ans = ans * a % p;
            a = a * a % p;
            b >>= 1;
        }
        
        return (int) ans;
    }
}

6339. 将珠子放入背包中

在这里插入图片描述

代码

一眼 dp,再看数据量,太大了,二维dp会超时,换方法

题目:
将序列分成 k 段,===》 切 k - 1 次,有 k - 1 个分割点,求分割点左右元素之和
求出来所有的相邻元素和,排序,求最大的 k - 1个 和 最小的 k - 1个之差即可

特殊情况::子数组中,只有最左边的一个 / 最右边的一个
但是因为所有情况都要选择这两个值,而且求的是差值,就抵消了、
所以我们只看里面的元素即可

class Solution {
    public long putMarbles(int[] w, int k) {
        int[] s = new int[w.length - 1];
        for (int i = 0; i + 1 < w.length; i++)
            s[i] = w[i] + w[i + 1];
        
        Arrays.sort(s);
        
        long a = 0, b = 0;
        for (int i = 0; i < k - 1; i++) {
            a += s[i];
            b += s[s.length - i - 1];
        }

        return Math.abs(a - b);
    }
}

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

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

相关文章

Java 8 Optional 介绍

1. 前言 空指针确实会产生很多问题&#xff0c;我们经常遇到空的引用&#xff0c;然后又想从这个空的引用上去获取其他的值&#xff0c;接着理所当然的碰到了 NullPointException。这是你可能会想&#xff0c;这报错很好处理&#xff0c;然后你看了眼报错行数&#xff0c;对比了…

聚合函数学习

文章目录聚合函数介绍理解类型语法AVG和SUMMIN和MAX函数COUNT函数GROUP BY基本使用使用多个列分组GROUP BY中使用WITH ROLLUPHAVING基本使用WHERE和HAVING的对比SELECT执行顺序查询结构SELECT执行顺序SQL 的执行原理聚合函数介绍 理解 聚合&#xff08;或聚集、分组&#xff…

java集合类-Map

Map-增强的Map集合 Map用于保存具有映射关系的数据&#xff0c;因此Map集合里保存着两组值&#xff0c;一组值用于保存Map里的key&#xff0c;另外一组值用于保存Map里的value&#xff0c;key和value都可以是任何引用类型的数据。Map的key不允许重复&#xff0c;即同一个Map对象…

【Linux】TCP三次握手,四次挥手原理

今天在书中找到了比较详细的解释&#xff0c;记录一下 三次握手 在可以使用TCP链路之前&#xff0c;必须在客户端和主机之间显式建立连接。如上所述&#xff0c;在主动&#xff08;active&#xff09;和被动&#xff08;passive&#xff09;连接的建立方式是有区别的。 内核…

生鲜巨变:每日优鲜、叮咚买菜、盒马“分道扬镳”?

此前&#xff0c;在疫情影响下&#xff0c;人们出门购物频次减少&#xff0c;传统买菜模式也受到了一定的冲击。在此背景下&#xff0c;既能够解决人们买菜难题又能够减少人与人接触的生鲜电商&#xff0c;赢得了众多消费者的青睐。而随着大量用户涌入其中&#xff0c;整个生鲜…

【GD32F427开发板试用】硬件IIC读取SHT40温湿度传感器

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动&#xff0c;更多开发板试用活动请关注极术社区网站。作者&#xff1a;烟花易冷 介绍 很荣幸又能再次的参加技术社区的开发板试用活动&#xff0c;此次参加用的是GD32F427系列的芯片&#xff0c;该芯片相较于GDF31…

OpenPPL PPQ量化:原理与实践

目录 量化原理 为什么需要量化&#xff1f; 量化粒度 框架综述 算子划分 量化中的图融合操作 量化实践&#xff1a;以pytorch mobilenet v2 模型为例 源码阅读 torch模型和onnx量化过程中的区别 后记 量化原理 为什么需要量化&#xff1f; 1、减少内存带宽和存储空…

C++Morris遍历

一、关于Morris算法 简介 Morris算法是针对二叉树实现的一个遍历算法&#xff0c;它是一种空间复杂度为O(1)的遍历算法 通常情况下使用迭代或递归的方式遍历二叉树的空间开销都是O(N)级别的&#xff0c;较为理想的情况下可以做到O(logn)级别&#xff0c;而Morris算法通过更改…

Windows Kerberos客户端配置并访问CDH

安装 Kerberos 客户端 配置 hosts 1、配置集群 hosts 到 Windows&#xff08;C:\Windows\System32\drivers\etc\hosts&#xff09;&#xff1b; 2、调整windows环境变量&#xff0c;将系统环境变量 PATH 中的 C:\Program Files\MIT\Kerberos\bin 放置在最前边&#xff0c;建…

目标跟踪心得篇五:MOT数据集标注、DarkLabel不能自动跟踪解决方案

跟踪方向的标注成本非常很大的 ,那么我们如何尽可能一次性弄好呢? 所选标注工具:DarkLabel DarkLabel是一个轻量的视频标注软件,尤其做MOT任务非常友好,其标注可以通过脚本转化为标准的目标检测数据集格式、ReID数据集格式和MOT数据集格式。 使用之前: darklabel.yml:保…

Python国际化学习教程

很幸运python提供了中文等其他语言的教程&#xff01; 这里以13.11.1为例 Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构&#xff0c;还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质&#xff0c;使它成为多数平台上写…

nacos的本地配置与启动步骤及NoDataSourceset问题解决

文章前提是本地机器已经安装好了mysql&#xff0c;配置好了mysql与Java环境变量。 首先在网络上找到一个nacos-server包。我本想上传自己的包&#xff0c;但是总是提示资源已经存在&#xff0c;那么可以自行搜索下。 解压开后是个.gz的文件&#xff0c;可以用windows自带的Win…

Golang Profiling - pprof 使用

Golang Profiling - pprof 使用 在编写大型应用程序&#xff0c;处理复杂业务与逻辑时&#xff0c;开发者经常面临系统内存泄漏问题。查找代码是否有效运行的一种有效方法是检查内存堆、CPU、磁盘的使用情况。 要在运行时检查Go应用程序的CPU和内存使用情况以及其他配置文件&…

LeetCode | 704. 二分查找

题&#xff1a;力扣 704. 二分查找 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c; 写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。示例 1:输入: nums [-1,0,3,5,9,1…

Lua 调试(Debug)

Lua 调试(Debug) 参考至菜鸟教程。 Lua 提供了 debug 库用于提供创建我们自定义调试器的功能。Lua 本身并未有内置的调试器&#xff0c;但很多开发者共享了他们的 Lua 调试器代码。 Lua 中 debug 库包含以下函数&#xff1a; 序号方法 & 用途1.debug():进入一个用户交互模…

2022年前端React杂记

以下记录的是&#xff0c;我在学习中的一些学习笔记&#xff0c;这篇笔记是自己学习的学习大杂烩&#xff0c;主要用于记录&#xff0c;方便查找1、学习概述React 是当下最火的前端三大框架之一。之前一直没有时间来学习&#xff0c;国庆得空来快速消掉这一块的盲点。学习react…

python 字典 小白笔记

字典反映的是一种映射关系。1.定义用花括号括起来&#xff0c;每个元素包括键值对&#xff0c;键必须是可以用哈希值计算的对象&#xff0c;通常是数字或者字符串。值可以是任何类型的对象。键和值之间用“&#xff1a;”分割。zidian{jian:zhi,jian1:zhi,}2.查找字典可以用键获…

python采集某所有数据,从此不用money

前言 大家早好、午好、晚好吖 ❤ ~ 基本思路流程: <通用的> 一. 数据来源分析: 明确需求: 明确采集的网站是什么? 明确采集的数据是什么? 通过开发者工具<浏览器自带的工具(谷歌浏览器)>, 进行抓包分析 先分析一章内容, 然后再分析如何采集多章内容 打开开发…

ubuntu docker 安装rocketmq记录

安装链接参考该博客 上面的是非ubuntu安装的docker&#xff0c;下面记录ubuntu安装docker遇到的问题及解决 1 创建挂载目录 ─── rocketmq├── conf│ └── broker.conf└── data├── broker│ ├── logs│ └── store└── namesrv├── logs└── st…

ch1_3计算机硬件的技术指标

机器字长&#xff1a; CPU一次能够处理 数据的位数&#xff1b; 与CPU中的寄存器位数有关&#xff1b; 1. 运算速度 不同的指令&#xff0c;执行的频率不同&#xff1b; 部分指令&#xff0c; 执行起来很慢&#xff0c; 但是很少执行&#xff0c;出现的次数低&#xff0c;对…