LeetCode 2644.找出可整除性得分最大的整數:暴力模擬(兩層循環)

【LetMeFly】2644.找出可整除性得分最大的整數:暴力模擬(兩層循環)

力扣題目鏈接:https://leetcode.cn/problems/find-the-maximum-divisibility-score/

給你兩個下標從 0 開始的整數數組 numsdivisors

divisors[i]可整除性得分 等于滿足 nums[j] 能被 divisors[i] 整除的下標 j 的數量。

返回 可整除性得分 最大的整數 divisors[i] 。如果有多個整數具有最大得分,則返回數值最小的一個。

?

示例 1:

輸入:nums = [4,7,9,3,9], divisors = [5,2,3]
輸出:3
解釋:divisors 中每個元素的可整除性得分為:
divisors[0] 的可整除性得分為 0 ,因為 nums 中沒有任何數字能被 5 整除。
divisors[1] 的可整除性得分為 1 ,因為 nums[0] 能被 2 整除。 
divisors[2] 的可整除性得分為 3 ,因為 nums[2]、nums[3] 和 nums[4] 都能被 3 整除。 
因此,返回 divisors[2] ,它的可整除性得分最大。

示例 2:

輸入:nums = [20,14,21,10], divisors = [5,7,5]
輸出:5
解釋:divisors 中每個元素的可整除性得分為:
divisors[0] 的可整除性得分為 2 ,因為 nums[0] 和 nums[3] 都能被 5 整除。
divisors[1] 的可整除性得分為 2 ,因為 nums[1] 和 nums[2] 都能被 7 整除。
divisors[2] 的可整除性得分為 2 ,因為 nums[0] 和 nums[3] 都能被5整除。 
由于 divisors[0]、divisors[1] 和 divisors[2] 的可整除性得分都是最大的,因此,我們返回數值最小的一個,即 divisors[2] 。

示例 3:

輸入:nums = [12], divisors = [10,16]
輸出:10
解釋:divisors 中每個元素的可整除性得分為:
divisors[0] 的可整除性得分為 0 ,因為 nums 中沒有任何數字能被 10 整除。
divisors[1] 的可整除性得分為 0 ,因為 nums 中沒有任何數字能被 16 整除。 
由于 divisors[0] 和 divisors[1] 的可整除性得分都是最大的,因此,我們返回數值最小的一個,即 divisors[0] 。

?

提示:

  • 1 <= nums.length, divisors.length <= 1000
  • 1 <= nums[i], divisors[i] <= 109

解題方法:兩層循環枚舉

外層循環遍歷每一個“被除數”,對于某個被除數 d d d,記錄其“可整除性得分”。

  • 如果這個得分大于歷史最大得分,更新最大得分并將其暫時視為答案;
  • 如果這個得分等于歷史最大得分,將它和“臨時答案”中最小的那個暫時視為答案。

最終的“臨時答案”即為最終答案。

  • 時間復雜度 O ( l e n ( n u m s ) × l e n ( d i v i s o r s ) ) O(len(nums)\times len(divisors)) O(len(nums)×len(divisors))
  • 空間復雜度 O ( N log ? N ) O(N\log N) O(NlogN)

本題似乎沒有更小的時空復雜度的算法,能做的似乎最多是一些剪枝。

AC代碼

C++
class Solution {
public:int maxDivScore(vector<int>& nums, vector<int>& divisors) {int M = -1, ans = 0;for (int d : divisors) {int thisCnt = 0;for (int n : nums) {if (n % d == 0) {thisCnt++;}}if (thisCnt > M) {M = thisCnt;ans = d;}else if (thisCnt == M) {M = thisCnt;ans = min(ans, d);}}return ans;}
};
Python
from typing import Listclass Solution:def maxDivScore(self, nums: List[int], divisors: List[int]) -> int:M, ans = -1, 0for d in divisors:thisCnt = 0for n in nums:thisCnt += n % d == 0if thisCnt > M:M = thisCntans = delif thisCnt == M:ans = min(ans, d)return ans

同步發文于CSDN和我的個人博客,原創不易,轉載經作者同意后請附上原文鏈接哦~

Tisfy:https://letmefly.blog.csdn.net/article/details/139026732

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/15038.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/15038.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/15038.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL庫/表/數據的操作

文章目錄 1.數據庫操作1.1 創建、刪除、查看和修改1.2 編碼格式1.3 備份和恢復 2.表的操作2.1 創建表2.2 存儲引擎2.3 查看表、修改表、刪除表 3.數據類型3.1整數類型3.2字節類型(bit)3.3浮點類型(bit)3.4 decimal3.5 字符串類型3.6 日期和時間類型3.7 enum和set關于如何查找想…

webpack 學習之 五大核心

為什么用 webpack webpack 官網傳送門 … 官網&#xff1a;webpack 是一個用于現代 JavaScript 應用程序的 靜態模塊打包工具。將你項目中所需的每一個模塊組合成一個或多個 bundles&#xff0c;它們均為靜態資源&#xff0c;用于展示你的內容。總結&#xff1a;匯總所有模塊…

Python中別再用 ‘+‘ 拼接字符串了!

大家好&#xff0c;在 Python 編程中&#xff0c;我們常常需要對字符串進行拼接。你可能會自然地想到用 操作符將字符串連接起來&#xff0c;畢竟這看起來簡單明了。 在 Python 中&#xff0c;字符串是不可變的數據類型&#xff0c;這意味著一旦字符串被創建&#xff0c;它就…

【Python】—— lambda表達式

目錄 &#xff08;一&#xff09;應用場景 &#xff08;二&#xff09;lambda 語法 &#xff08;三&#xff09;示例分析 &#xff08;四&#xff09;lambda參數形式 4.1 無參數 4.2 一個參數 4.3 默認參數 4.4 可變參數 &#xff1a;*args 4.5 可變參數 &#xff1a;…

【Python爬蟲】案例_github模擬登錄

import requests import re from datetime import datetimedef login():sessionrequests.session()session.headers {User-Agent :XXXX #寫自己的}url1 https://github.com/loginres_1 session.get(url1).content.decode()token re.findall(name"authenticity_token&q…

基于Matlab實現BP神經網絡的手寫數字識別

歡迎大家點贊、收藏、關注、評論啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代碼。 文章目錄 一項目簡介 二、功能三、系統四. 總結 一項目簡介 一、項目背景與意義 手寫數字識別是計算機視覺和模式識別領域的一個經典問題&#xff0c;具有廣泛的應用場景&…

信息安全從業者書單推薦

作為一名網安人&#xff0c;身上肩負的責任是很大的&#xff0c;能力越大&#xff0c;責任也越大&#xff0c;反過來責任越大&#xff0c;能力也必須跟得上。不管是想進這行&#xff0c;還是已經在這行&#xff0c;持續學習肯定是不能缺少的&#xff0c;除了在工作中積累&#…

qt多語言翻譯不生效的原因

假設您有QT語言家的基礎知識&#xff0c;假設網上那些所有的問題您都已經排查過了&#xff0c;但依然翻譯不生效&#xff0c;那么可以看下這篇帖子&#xff0c;其實就一個問題&#xff0c;變量的生命周期&#xff0c;假設QTranslator是一個函數內的變量&#xff0c;且沒有被聲明…

億圖圖示——刪除水印

一、文件以PPT格式導出 二、點擊水印所在區域&#xff0c;點擊多次delete鍵 三、調整PPT頁面尺寸 四、轉成PDF 五、PDF轉成圖片

Spring的Profile功能及其應用場景

Spring的Profile功能是一種條件化配置機制&#xff0c;它允許開發者根據不同的運行環境或條件來定義和使用不同的bean和配置。Profile功能使得Spring應用程序可以靈活地適應不同的部署場景&#xff0c;而無需修改代碼。 Profile功能的作用&#xff1a; 環境隔離&#xff1a;可…

從0開始寫一個環境保護網站的第3天(JAVAWEB)

1.目標 實現首頁的環境保護原因的查詢&#xff0c;和底部友情連接部分 2.實現 2.1建立數據庫表格&#xff08;這里數據全是百度查詢&#xff09; 環境保護原因表&#xff1a; 友情連接表&#xff1a;&#xff08;數據來源https://zhuanlan.zhihu.com/p/696243646&#xff0…

SqlSession是什么?在MyBatis-Spring中有什么應用?

目錄 一、SqlSession是什么 二、SqlSession在MyBatis中的應用 三、SqlSession在Spring中的應用 一、SqlSession是什么 SqlSession 是 MyBatis 框架中的一個核心概念&#xff0c;它代表與數據庫的一次會話。MyBatis 是一個流行的 Java 持久層框架&#xff0c;用于簡化數據庫…

c++題目_農場和奶牛

&#x1d435;B 頭奶牛 (1≤&#x1d435;≤25000)(1≤B≤25000)&#xff0c;有 &#x1d441;(2&#x1d435;≤&#x1d441;≤50000)N(2B≤N≤50000) 個農場&#xff0c;編號 11 到 &#x1d441;N&#xff0c;有 &#x1d440;(&#x1d441;?1≤&#x1d440;≤100000)M(…

【Linux】fork和exec中的信號繼承探索

fork和exec中的信號繼承探索 一、結論二、代碼驗證2.1 代碼編寫2.2 代碼執行 三、linux源碼驗證四、APUE中的驗證五、其他 一、結論 fork時子進程會繼承父進程的信號處理方式&#xff0c;包括父進程設置信號為SIG_DFL或SIG_IGN或捕獲后設置自定義處理函數。exce時子進程會繼承…

ChatGPT寫作指南:掌握5種高效格式成為寫作達人【含實用示例】

1. **簡潔指令** 當任務較簡單時&#xff0c;可以用一小段話來說明&#xff0c;便于理解和執行。如下例&#xff1a; 背景&#xff1a;我負責運營一個旅游主題的社交媒體賬號。 角色&#xff1a;作為一位經驗豐富的文案創作專家&#xff0c;我擅長打造引人注目的旅游內容…

【無標題】亞馬遜5月24日宣布推出2024出口跨境物流加速器計劃

亞馬遜中國5月24日鄭重宣布啟動“2024亞馬遜出口跨境物流加速器計劃”&#xff0c;旨在依托其世界領先的物流網絡和前沿技術&#xff0c;結合本土資源&#xff0c;不斷優化跨境物流服務&#xff0c;以強化中國賣家在跨境物流供應鏈管理方面的能力&#xff0c;進而提升整體效率&…

datagridview復選框選中響應

winform經常用datagridview來處理相關的數據顯示&#xff0c;如果datagridview有復選框&#xff0c;我們應該如何處理相關選中響應。選擇datagridview的cellcontentclick事件&#xff0c;代碼如下&#xff1a; bool isSelectedGridViewRow false&#xff1b; private void da…

深度神經網絡——什么是 K 均值聚類?

K 均值聚類 K 均值聚類是 無監督學習在所有無監督學習算法中&#xff0c;K 均值聚類可能是使用最廣泛的&#xff0c;這要歸功于它的強大功能和簡單性。 K-means 聚類到底是如何工作的&#xff1f; 簡而言之&#xff0c;K 均值聚類的工作原理是 創建參考點&#xff08;質心&am…

Halcon 極坐標轉換圖像

一、概述 先看效果 將圓形的用極坐標轉換成矩性然后再進行識別或者其他缺陷檢測&#xff0c;最后在還圓到原圖中 二、原理&#xff1a; halcon 圓環類缺陷檢測的一種方法&#xff08;極坐標變換法&#xff09;_halcon缺口檢測-CSDN博客 圖像極坐標變換與反變換&#xff08;…

吳恩達深度學習筆記:超 參 數 調 試 、 Batch 正 則 化 和 程 序 框 架(Hyperparameter tuning)3.4-3.5

目錄 第二門課: 改善深層神經網絡&#xff1a;超參數調試、正 則 化 以 及 優 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)第三周&#xff1a; 超 參 數 調 試 、 Batch 正 則 化 和 程 序 框 架&#xff08;Hyperparameter …