【LeetCode】368. 最大整除子集

雖然這題挺難寫的,但是仍然提醒了我:解題要注意方法。在明確分析當一條道路走不通的時候,就不要再猶豫了,就要果斷的換方法,嘗試用其它方法解決。否則一味的消耗時間,得不償失。換方法的前提是明確的分析(一定要落到紙上,為什么得不出結果?是復雜度太高?還是難以實現?)后得出的結論是不可行。

1. 題目

2. 分析

這道題挺不好想的。 我一直以為要從數學、數論的角度來解題,但是哪知道最后正確的方法是使用動態規劃。 下面先給出我分析的過程:
【算術基本定理】:任何一個大于1的整數都能唯一分解為有限個質數的乘積。
根據這個定理,我們可以把這些正整數劃分到各個質數“管轄”的范圍內。最后比拼一下哪個質數管的數多,我們就輸出這個集合就行。這么看,貌似可行,但實際思路上存在漏洞:對于能夠整除同一個質數的數二者之見并不能整除,比如[4,6]這一對,也就是說這個方法在本質上并不可行,(但我卻硬生生的想了20min… 真sb)。同時,即使可行,在求解上也存在困難:本題給出的數的范圍是 1 <= nums[i] <= 2 * 10^9。先要把質數找出來,然后挨個判斷,這個復雜度有點兒高。

正確的方法是:

  • 先排序
  • 接著判斷下標i結尾的數是否是下標j結尾數的整數倍,如果是,則dp[i]=dp[j]+1
  • 找出dp數組中最大的那個數,然后倒推得到最后的滿足解。

3. 代碼

代碼待更新。


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

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

相關文章

C++ 和C#的差別

首先把眼睛瞪大&#xff0c;然后憋住一口氣&#xff0c;讀下去&#xff1a; 1、CPP 就是C plus plus的縮寫&#xff0c;中國大陸的程序員圈子中通常被讀做"C加加"&#xff0c;而西方的程序員通常讀做"C plus plus"&#xff0c;它是一種使用非常廣泛的計算…

Maya崩潰閃退常見原因及解決方案

Autodesk Maya 是一款功能強大的 3D 計算機圖形程序&#xff0c;被電影、游戲和建筑等各個領域的設計師廣泛使用。然而&#xff0c;Maya 就像任何其他軟件一樣可能會發生崩潰問題。在前文中&#xff0c;小編給大家介紹了3ds Max使用V-Ray渲染時的崩潰閃退解決方案&#xff1a; …

Neo4j 圖數據庫 高級操作

Neo4j 圖數據庫 高級操作 文章目錄 Neo4j 圖數據庫 高級操作1 批量添加節點、關系1.1 直接使用 UNWIND 批量創建關系1.2 使用 CSV 文件批量創建關系1.3 選擇方法 2 索引2.1 創建單一屬性索引2.2 創建組合屬性索引2.3 創建全文索引2.4 列出所有索引2.5 刪除索引2.6 注意事項 3 清…

后端之路第三站(Mybatis)——JDBC跟Mybatis、lombok

一、什么是JDBC JDBC就是sun公司研發的一套通過java來操控數據庫的工具&#xff0c;對應不同的數據庫系統有不同的JDBC&#xff0c;而他們統稱【驅動】&#xff0c;這就是上一篇我們提到創建Mybatis項目時要引入的依賴、以及連接數據庫四要素里的第一要素。 JDBC有自己一套原始…

SerialportToTCP② 全

效果補全&#xff08;代碼&#xff09;&#xff1a; namespace SerialportToTCP {public partial class Form1 : Form{IniHelper Ini;string[] botelvs new string[] { "1200", "4800", "9600", "13200" };public Form1(){Initializ…

Elasticsearch:Painless scripting 語言(一)

Painless 是一種高性能、安全的腳本語言&#xff0c;專為 Elasticsearch 設計。你可以使用 Painless 在 Elasticsearch 支持腳本的任何地方安全地編寫內聯和存儲腳本。 Painless 提供眾多功能&#xff0c;這些功能圍繞以下核心原則&#xff1a; 安全性&#xff1a;確保集群的…

安卓gdb 建立鏈接

adbshell gdbserver :1234 testdcam --sensor 0 --workmode 0 --args preview-size1024x600,picture-size640x480, --time 10 adb forwardtcp:1234 tcp:1234 //設置adb的轉發 ./prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin/arm-linux-androideabi-gdb out/tar…

近紅外光譜腦功能成像(fNIRS):1.光學原理、變量選取與預處理

一、朗伯-比爾定律與修正的朗伯-比爾定律 朗伯-比爾定律 是一個描述光通過溶液時被吸收的規律。想象你有一杯有色液體&#xff0c;比如一杯紅茶。當你用一束光照射這杯液體時&#xff0c;光的一部分會被液體吸收&#xff0c;導致透過液體的光變弱。朗伯-比爾定律告訴我們&#…

mmdetection3D指定版本安裝指南

1. 下載指定版本號 選擇指定版本號下載mmdetection3d的源碼&#xff0c;如這里選擇的是0.17.2版本 git clone https://github.com/open-mmlab/mmdetection3d.git -b v0.17.22. 安裝 cd mmdetection3d安裝依賴庫 pip install -r requirment.txt編譯安裝 pip install -v e .…

redis主從復制哨兵模式集群管理

主從復制&#xff1a; 主從復制是高可用Redis的基礎&#xff0c;哨兵和集群都是在主從復制基礎上實現高可用的。主從復制主要實現了數據的多機備份&#xff0c;以及對于讀操作的負載均衡和簡單的故障恢復。缺陷&#xff1a;故障恢復無法自動化&#xff1b;寫操作無法負載均衡&…

軟件測試與質量保證 | 云班課簡答題庫

目錄 第14章 質量相關簡答題 第15章 測試實際相關簡答題 第16章 測試基本相關簡答題 第14章 質量相關簡答題 1. 簡述基本的測量原則。 測量應該基于該應用領域正確的理論之上&#xff0c;并在測量的定義中確定測度的目標&#xff1b;每一個技術測量的定義應該具有一致性和客…

HbuilderX:安卓打包證書.keystore生成與使用

前置條件 已安裝jdk或配置好jre環境。 .keystore生成 打開cmd,切換到目標路徑,輸入以下命令, keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore 輸入密鑰庫口令(要記住), 然后輸入一系列信息, …

ui.perfetto.dev sql 查詢某個事件范圍內,某個事件的耗時并降序排列

ui.perfetto.dev sql 查詢某個事件范圍內,某個事件的耗時并降序排列 1.打開https://ui.perfetto.dev 導入Chrome Trace Json文件2.ParallelMLP.forward下的RowParallelLinear.forward3.點擊Query(SQL),在輸入框中輸入以下內容,按CtrlEnter,顯示查詢結果4.點擊Show timeline,點擊…

2024年07年01日 Redis數據類型以及使用場景

String Hash List Set Sorted Set String&#xff0c;用的最多&#xff0c;對象序列化成json然后存儲 1.對象緩存&#xff0c;單值緩存 2.分布式鎖 Hash&#xff0c;不怎么用到 1.可緩存經常需要修改值的對象&#xff0c;可單獨對對象某個屬性進行修改 HMSET user {userI…

Windows快速打開某個路徑下的PowerShell

按住Shift右鍵打開&#xff1a; 在桌面或者文件夾頁面中&#xff0c;按住右鍵&#xff0c;在彈出的右鍵菜單中選擇“在終端中打開”或“在此處打開Powershell窗口“&#xff0c;就可打開windows PowerShell界面&#xff0c;且路徑為桌面或打開的文件夾所在路徑。

淺談貝葉斯定理

引言 貝葉斯定理用于確定事件的條件概率。它以一位英國統計學家的名字命名&#xff0c;托馬斯貝葉斯他在1763年發現了這個公式。貝葉斯定理是數學中一個非常重要的定理&#xff0c;它為一種獨特的統計推斷方法奠定了基礎。貝氏推論它用于根據可能與事件相關的條件的先驗知識&a…

C++基礎(三):C++入門(二)

上一篇博客我們正式進入C的學習&#xff0c;這一篇博客我們繼續學習C入門的基礎內容&#xff0c;一定要學好入門階段的內容&#xff0c;這是后續學習C的基礎&#xff0c;方便我們后續更加容易的理解C。 目錄 一、內聯函數 1.0 產生的原因 1.1 概念 1.2 特性 1.3 面試題 …

用隨機森林算法進行的一次故障預測

本案例將帶大家使用一份開源的S.M.A.R.T.數據集和機器學習中的隨機森林算法&#xff0c;來訓練一個硬盤故障預測模型&#xff0c;并測試效果。 實驗目標 掌握使用機器學習方法訓練模型的基本流程&#xff1b;掌握使用pandas做數據分析的基本方法&#xff1b;掌握使用scikit-l…

三大常用集合

1.Set集合 在Java中&#xff0c;Set是一種集合類型&#xff0c;它是一種不允許包含重復元素的集合&#xff0c;每個元素在Set中是唯一的。Set接口的常用實現類有HashSet、TreeSet和LinkedHashSet。以下是關于Set集合的一些重要特點和用法&#xff1a; 特點&#xff1a; 不允…

什么是mysql的回表操作

MySQL中的“回表”操作是指在執行查詢時&#xff0c;由于索引結構的限制&#xff0c;數據庫系統需要從非聚集索引&#xff08;Secondary Index&#xff09;中找到主鍵值&#xff0c;然后使用這些主鍵值回溯到聚集索引&#xff08;Clustered Index&#xff09;中獲取完整的行數據…