Leetcode—2961.双模幂运算【中等】

2023每日刷题(五十六)

Leetcode—2961.双模幂运算

在这里插入图片描述

实现代码

class Solution {
public:int func(int a, int b) {int ans = 1;for(int i = 0; i < b; i++) {ans *= a;ans %= 10;}return ans;}int func2(int a, int b, int m) {int ans = 1;for(int i = 0; i < b; i++) {ans *= a;ans %= m;}return ans;}vector<int> getGoodIndices(vector<vector<int>>& variables, int target) {vector<int> ans;int i = 0;for(auto e: variables) {long long a = e[0], b = e[1], c = e[2], m = e[3];long long res = func(a, b);res = func2(res, c, m);if(res == target) {ans.push_back(i);}i++;}return ans;}
};

运行结果

在这里插入图片描述

快速幂实现代码

关于快速幂如果不理解,可以看我之前的这篇Leetcode—50.Pow(x,n)【中等】

class Solution {
public:long long pow(long long x, int b, int mod) {if(b == 1) {return x % mod;}long long res = pow(x, b / 2, mod);if(b % 2) {return (res % mod) * (res % mod) * x % mod;} else {return (res % mod) * (res % mod) % mod;}}vector<int> getGoodIndices(vector<vector<int>>& variables, int target) {vector<int> ans;int i = 0;for(auto e: variables) {if(pow(pow(e[0], e[1], 10), e[2], e[3]) == target) {ans.push_back(i);} i++;}return ans;}
};

运行结果

在这里插入图片描述

快速幂非递归法实现代码

class Solution {
public:long long pow(long long x, int b, int mod) {long long res = 1;for(; b; b /= 2) {if(b % 2) {res = res * x % mod;} x = x * x % mod;}return res;}vector<int> getGoodIndices(vector<vector<int>>& variables, int target) {vector<int> ans;int i = 0;for(auto e: variables) {if(pow(pow(e[0], e[1], 10), e[2], e[3]) == target) {ans.push_back(i);} i++;}return ans;}
};

运行结果

在这里插入图片描述

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【十】python复合模式

10.1 复合模式简介 在前面的栏目中我们了解了各种设计模式。正如我们所看到的&#xff0c;设计模式可分为三大类:结构型、创建型和行为型设计模式。同时&#xff0c;我们还给出了每种类型的相应示例。然而&#xff0c;在软件实现中&#xff0c;模式并是不孤立地工作的。对于所…

Linux,Web网站服务(一)

1.准备工作 为了避免发生端口冲突&#xff0c;程序冲突等现象&#xff0c;建议卸载使用RPM方式安装的httpd [rootnode01 ~]# rpm -e http --nodeps 挂载光盘到/mnt目录 [rootnode01 ~]# mount /dev/cdrom /mnt Apache的配置及运行需要apr.pcre等软件包的支持&#xff0c;因此…

事务隔离级别:保障数据库并发事务的一致性与性能

目录 引言 1. 事务隔离级别概述 2. 读未提交隔离级别 3. 读已提交隔离级别 4. 可重复读隔离级别 5. 串行化隔离级别 6. 保障事务隔离级别的机制 7. 如何选择合适的隔离级别 8. 结语 引言 在数据库管理系统&#xff08;DBMS&#xff09;中&#xff0c;事务隔离级别是一…

智能指针管理“newed对象”

为什么要有智能指针&#xff1f; 指针智能是管理管理动态内存分配对象的一种机制。它提供了自动管理内存&#xff0c;避免常见内存泄漏和悬空指针。 对于上述Func函数的操作&#xff0c;一不小心就会产生很多问题。 p1 new时候抛异常 什么都不做p2 new时候抛异常 p1需要被清理…

ffmpeg6.0之ffprobe.c源码分析二-核心功能源码分析

本篇我们继续分析: 1、ffprobe -show_packets 参数的处理流程;2、ffprobe -show_frames 参数的处理流程;3、ffprobe -show_streams 参数的处理流程;4、ffprobe -show_format 参数的处理流程; 因为前面的文章已经回顾了这些命令的使用,以及作用。本文就不在赘述,以免篇幅…

Python—KNN分类算法

原文: https://zhuanlan.zhihu.com/p/143092725 1. 概述 KNN 可以说是最简单的分类算法之一&#xff0c;同时&#xff0c;它也是最常用的分类算法之一。注意&#xff1a;KNN 算法是有监督学习中的分类算法&#xff0c;它看起来和另一个机器学习算法 K-means 有点像&#xff0…

HPM5300系列--第二篇 Visual Studio Code开发环境以及多种调试器调试模式

一、目的 在博文《HPM5300系列--第一篇 命令行开发调试环境搭建》、《HPM6750系列--第四篇 搭建Visual Studio Code开发调试环境》中我们介绍了命令行方式开发环境&#xff0c;也介绍了HPM6750evkmini开发板如何使用Visual Studio Code进行开发调试&#xff08;其中调试方式使用…

ASF-YOLO开源 | SSFF融合+TPE编码+CPAM注意力,精度提升!

目录 摘要 1 Introduction 2 Related work 2.1 Cell instance segmentation 2.2 Improved YOLO for instance segmentation 3 The proposed ASF-YOLO model 3.1 Overall architecture 3.2 Scale sequence feature fusion module 3.3 Triple feature encoding module …

3小时快速入门自动化测试 —— Selenium测试工具

自动化测试 自动化测试简单来说就是利用自动化测试工具和自动化测试脚本来完成指定的测试任务&#xff0c;测试启动过程无需人工参与&#xff0c;但自动化测试之前的准备工作需要人工手动配置好。它是一种将重复性、繁琐的测试任务交给计算机自动执行的方法&#xff0c;能够显…

VUE中如果让全局组件在某一页面不显示

目录 前言 方法一 1.在全局组件中添加一个变量用于控制显示与隐藏。 2.在全局组件的模板中使用 v-if 条件来决定是否显示该组件 3.在不需要显示全局组件的页面中&#xff0c;修改 showGlobalComponent 变量的值为 false&#xff0c;以隐藏全局组件。 4.在需要隐藏全局组…

21、状态模式(State Pattern)

状态模式指给对象定义不同的状态&#xff0c;并为不同的状态定义不同的行为&#xff0c;在对象的状态发生变换时自动切换状态的行为。 状态模式是一种对象行为型模式&#xff0c;它将对象的不同行为封装到不同的状态中&#xff0c;遵循了“单一职责”原则。同时&#xff0c;状…

Linux概述

文章目录 LinuxLinux可以做什么Linux概述Linux的发行版Linux和Windows的区别 Linux Linux可以做什么 谁可以学习&#xff1a; 所有程序员大数据工程师运维工程师 Linux概述 Linux是一个操作系统&#xff08;OS&#xff09;&#xff0c;我们比较熟悉的操作系统有Windows、苹…

智能冶钢厂环境监控与设备控制系统(边缘物联网网关)

目录 1、项目背景 2、项目功能介绍 3、模块框架 3.1 架构框图 3.2 架构介绍 4、系统组成与工作原理 4.1 数据采集 4.2 指令控制 4.3 其他模块 4.3.1 网页、qt视频流 4.3.2 qt搜索进程 5、成果呈现 6、问题解决 7、项目总结 1、项目背景 这个项目的背景是钢铁行业的…

ES分词查询

全文检索介绍 全文检索的发展过程&#xff1a; 数据库使用SQL语句&#xff1a;select * from table where data like “%检索内容%”出现lucene全文检索工具&#xff08;缺点&#xff1a;暴露的接口相对复杂&#xff0c;且没有效率&#xff09;出现分布式检索服务框架solr&am…

Qt之Ui样式表不影响子类的配置

Qt之Ui样式表不影响子类的配置 问题 在ui界面上布局时&#xff0c;当对容器进行样试设计时&#xff0c;会对容器内其它成员对象也进行了修改 分析 对应*.ui文件内容 从这个写法来看&#xff0c;它的样式属性会影响其成员对象样式属性。 解决方法 在容器的样式表中写时适…

C语言之文件操作

目录 一、文件是什么 1.1 程序文件 1.2 数据文件 1.3 文件名 二、文件的作用 三、二进制文件和文本文件 四、文件的打开和关闭 4.1 流和标准流 &#xff08;1&#xff09;流 &#xff08;2&#xff09;标准流 4.2 文件指针 4.3 文件的打开和关闭 &#xff08;1&a…

LinuxC中进程通信

LinuxC中进程通信 信号&#xff08;Signals&#xff09;&#xff1a;Linux 提供了信号机制&#xff0c;允许一个进程向另一个进程发送信号以通知特定事件的发生。这是一种轻量级的通信机制&#xff0c;通常用于处理异步事件。您可以使用 kill 命令或 kill 函数来发送信号&…

CleanMyMac2024绿色免费激活码序列号

2024CleanMyMac免费mac下载版是一款简单实用的PC清洁管理工具&#xff0c;电脑刚装完系统的时候运行速度超级快&#xff0c;随着时间的推移&#xff0c;你会发现越来越慢&#xff0c;经常会反应卡顿&#xff0c;越来越多的垃圾文件占用了你的磁盘空间&#xff0c;各种过时的日志…

EM的理论基础

1 EM定义​ 电迁移(Electro-Migration)是指在外加电场下,电子和金属原子之间的动量转移导致材料的运动。这种动量传递导致金属原子(比如Cu原子)从其原始位置移位,如图7-1。这种效应随着导线中电流密度的增加而增加,并且在更高的温度下,动量传递变得更加严重。因此,在先…

浮动的魅力与挑战:如何在前端设计中巧妙运用浮动(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…