【Leetcode 每日一題】2597. 美麗子集的數目

問題背景

給你一個由正整數組成的數組 n u m s nums nums 和一個 整數 k k k
如果 n u m s nums nums 的子集中,任意兩個整數的絕對差均不等于 k k k,則認為該子數組是一個 美麗 子集。
返回數組 n u m s nums nums非空美麗 的子集數目。
n u m s nums nums 的子集定義為:可以經由 n u m s nums nums 刪除某些元素(也可能不刪除)得到的一個數組。只有在刪除元素時選擇的索引不同的情況下,兩個子集才會被視作是不同的子集。

數據約束

  • 1 ≤ n u m s . l e n g t h ≤ 18 1 \le nums.length \le 18 1nums.length18
  • 1 ≤ n u m s [ i ] , k ≤ 1000 1 \le nums[i], k \le 1000 1nums[i],k1000

解題過程

在求 子集 的基礎上,額外去掉可能導致差值為 k k k 的情況即可。

具體實現

class Solution {private int res = -1;public int beautifulSubsets(int[] nums, int k) {Map<Integer, Integer> count = new HashMap<>();dfs(0, nums, k, count);return res;}private void dfs(int i, int[] nums, int k, Map<Integer, Integer> count) {if (i == nums.length) {res++;return;}dfs(i + 1, nums, k, count);int cur = nums[i];if (count.getOrDefault(cur - k, 0) == 0 && count.getOrDefault(cur + k, 0) == 0) {count.merge(cur, 1, Integer::sum);dfs(i + 1, nums, k, count);count.merge(cur, -1, Integer::sum);}}
}

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

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

相關文章

常見Web應用源碼泄露問題

文章目錄 前言一、常見的源碼泄露漏洞git源碼泄露SVN源碼泄露DS_Store文件泄漏網站備份壓縮文件泄露WEB-INF/web.xml泄露CVS泄露.hg源碼泄露Bazaar/bzr泄露.swp文件泄露 前言 在Web應用方面對于安全來說&#xff0c;可能大家對SQL注入、XSS跨站腳本攻擊、文件上傳等一些漏洞已…

記錄一次wifi版有人物聯串口服務器調試經過

1、首先買了一個華為的wifi路由器&#xff0c;連接上以后&#xff0c;設置好網絡名字和wifi密碼 2、用網線連接串口服務器&#xff0c;通過192.168.1.1登錄&#xff0c;進行配置 找到無線客戶端配置&#xff0c;先在基本配置中打開5G配置&#xff0c;然后再去5.8G配置中設置 …

Android 平臺架構系統啟動流程詳解

目錄 一、平臺架構模塊 1.1 Linux 內核 1.2 硬件抽象層 (HAL) 1.3 Android 運行時 1.4 原生 C/C 庫 1.5 Java API 框架 1.6 系統應用 二、系統啟動流程 2.1 Bootloader階段 2.2 內核啟動 2.3 Init進程&#xff08;PID 1&#xff09; 2.4 Zygote與System Serv…

【Windows下Gitbook快速入門使用】

Windows下Gitbook快速入門使用 1 工具安裝1.1 Node.js下載安裝1.1 環境變量1.2 npm配置1.3 安裝gitbook 2 gitbook使用2.1 gitbook 無法執行2.2 gitbook常用命令 Gitbook是一個軟件&#xff0c;使用Git和Markdown來編排書本&#xff1b; GitBook helps you pushlish beautiful …

RK3588V2--HYM8563TS RTC 實時時鐘適配移植

1. 什么是RTC RTC&#xff08;Real-Time Clock&#xff0c;實時時鐘&#xff09;是一種電子設備或芯片&#xff0c;它用于保持當前時間和日期&#xff0c;即使系統關閉或斷電也能持續計時。RTC 通常用于計算機、嵌入式系統、物聯網設備等需要精確時間管理的場景。 1.1 RTC 的…

MHA集群

一.MHA集群 MHA master high avavibility 主服務器高可用 如上圖所示&#xff0c;我們之前說過&#xff0c;如果在主從復制架構中主服務器出現故障&#xff0c;就需要我們將從服務器作為主服務器&#xff0c;等故障的主服務器修復好之后&#xff0c;再將修好的主服務器作為從服…

10 【HarmonyOS NEXT】 仿uv-ui組件開發之Avatar頭像組件開發教程(一)

溫馨提示&#xff1a;本篇博客的詳細代碼已發布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下載運行哦&#xff01; 目錄 第一篇&#xff1a;Avatar 組件基礎概念與設計1. 組件概述2. 接口設計2.1 形狀類型定義2.2 尺寸類型定義2.3 組件屬性接口 3. 設計原則4. 使用…

微信小程序+SpringBoot的單詞學習小程序平臺(程序+論文+講解+安裝+修改+售后)

感興趣的可以先收藏起來&#xff0c;還有大家在畢設選題&#xff0c;項目以及論文編寫等相關問題都可以給我留言咨詢&#xff0c;我會一一回復&#xff0c;希望幫助更多的人。 系統背景 &#xff08;一&#xff09;社會需求背景 在全球化的大背景下&#xff0c;英語作為國際…

鴻蒙HarmonyOS評論功能小demo

評論頁面小demo 效果展示 1.拆解組件&#xff0c;分層搭建 我們將整個評論頁面拆解為三個組件&#xff0c;分別是頭部導航&#xff0c;評論項&#xff0c;回復三個部分&#xff0c;然后統一在index界面導入 2.頭部導航界面搭建 Preview Component struct HmNavBar {// 屬性&a…

解析 SQL,就用 sqlparse!

文章目錄 解析 SQL&#xff0c;就用 sqlparse&#xff01;一、背景&#xff1a;為什么你需要 sqlparse&#xff1f;二、什么是 sqlparse&#xff1f;三、如何安裝 sqlparse&#xff1f;四、簡單易用的庫函數1\. parse(sql)2\. format(sql, **options)3\. split(sql)4\. get_typ…

點云軟件VeloView開發環境搭建與編譯

官方編譯說明 LidarView / LidarView-Superbuild GitLab 我的編譯過程&#xff1a; 安裝vs2019&#xff0c;windows sdk&#xff0c;qt5.14.2&#xff08;沒安裝到5.15.7&#xff09;&#xff0c;git&#xff0c;cmake3.31&#xff0c;python3.7.9&#xff0c;ninja下載放到…

【一文學會 HTML5】

目錄 HTML概述基本概念HTML 發展歷程HTML 基本結構 網頁基本標簽標題標簽&#xff08;<h1> - <h6>&#xff09;段落標簽&#xff08;<p>&#xff09;換行標簽&#xff08;<br>&#xff09;水平線標簽&#xff08;<hr>&#xff09;注釋&#xff0…

Spring Boot面試問答

1. Spring Boot 基礎知識 問題 1:什么是Spring Boot?它與Spring框架有何不同? 回答: Spring Boot是基于Spring框架的一個開源框架,旨在簡化新Spring應用的初始化和開發過程。與傳統的Spring框架相比,Spring Boot提供了以下優勢: 自動配置:根據項目依賴自動配置Spring…

DeepSeek系列模型技術報告的閱讀筆記

DeepSeek系列模型技術報告的閱讀筆記 之前仔細閱讀了DeepSeek系列模型的主要技術方面內容與發展脈絡&#xff0c;以下是DeepSeek系列模型技術報告的筆記&#xff0c;有錯誤的地方歡迎指正&#xff01; 文章目錄 DeepSeek系列模型技術報告的閱讀筆記GQADeepseek MoEAbstractIn…

MyBatis @Param 注解詳解:多參數傳遞與正確使用方式

Param 注解主要用于 MyBatis 進行參數傳遞時給 SQL 語句中的參數 起別名&#xff0c;通常用于 多參數 方法&#xff0c;使參數在 XML Mapper 文件或注解 SQL 語句中更清晰易用。 1. 基本用法 在 Mapper 接口中使用 Param 來為參數命名&#xff0c;避免 MyBatis 解析時出現參數…

OpenBMC:BmcWeb connect讀取http請求

OpenBMC:BmcWeb構造connect對象-CSDN博客 OpenBMC:BmcWeb server.run-CSDN博客 1.構造了connect對象后,通過connection->start()開始處理來自客戶端的請求 //http\http_connection.hpp void start() {...startDeadline();readClientIp();boost::beast::async_detect_ssl…

SparkStreaming之04:調優

SparkStreaming調優 一 、要點 4.1 SparkStreaming運行原理 深入理解 4.2 調優策略 4.2.1 調整BlockReceiver的數量 案例演示&#xff1a; object MultiReceiverNetworkWordCount {def main(args: Array[String]) {val sparkConf new SparkConf().setAppName("Networ…

軟考初級程序員知識點匯總

以下是計算機技術與軟件專業技術資格&#xff08;水平&#xff09;考試&#xff08;簡稱“軟考”&#xff09;中 程序員&#xff08;初級&#xff09; 考試的核心知識點匯總&#xff0c;涵蓋考試大綱的主要方向&#xff0c;幫助你系統復習&#xff1a; 一、計算機基礎 計算機組…

Gauss數據庫omm用戶無法連接處理

確保gauss數據庫服務已經打開 重啟gauss服務 gs_om -t restart 連接gauss gsql -d postgres -p 26000 -r 結果發現 查看數據庫運行情況 gs_om -t status --detail 我們可以看到 cluster_state 的值是 Unavailable 不可用 那么問題大概率是出現在了這里 然后我們再查看一…

36-Openwrt wifi命令工具iwconfig、iwinfo、iwpriv、iwlist

增對wifi的調試命令有很多,這邊列出我們常用的命令提供參考,方便查看信息定位問題。 1、iwconfig 查看當前 WIFI 的工作信道以及工作帶寬模式: root@openwrt:/# iwconfig ra0 ra0 mt7603e ESSID:"openwrt" Mode:Managed Channel:8 Access Point: DC:4B…