LeetCode 1295.統計位數為偶數的數字:模擬

【LetMeFly】1295.統計位數為偶數的數字:模擬

力扣題目鏈接:https://leetcode.cn/problems/find-numbers-with-even-number-of-digits/

給你一個整數數組?nums,請你返回其中位數為?偶數?的數字的個數。

?

示例 1:

輸入:nums = [12,345,2,6,7896]
輸出:2
解釋:
12 是 2 位數字(位數為偶數)?
345 是 3 位數字(位數為奇數)??
2 是 1 位數字(位數為奇數)?
6 是 1 位數字 位數為奇數)?
7896 是 4 位數字(位數為偶數)??
因此只有 12 和 7896 是位數為偶數的數字

示例 2:

輸入:nums = [555,901,482,1771]
輸出:1 
解釋: 
只有 1771 是位數為偶數的數字。

?

提示:

  • 1 <= nums.length <= 500
  • 1 <= nums[i] <= 105

解題方法一:正常模擬

如何判斷一個(非負)數在十進制下有多少位?

當這個數不為0時拿這個數不斷除以10,并將“數字位數”加一。

依次計算每個元素的位數,判斷是否是偶數。

時空復雜度分析

  • 時間復雜度 O ( l e n ( n u m s ) × log ? n u m s [ i ] ) O(len(nums)\times \log nums[i]) O(len(nums)×lognums[i])
  • 空間復雜度 O ( 1 ) O(1) O(1)

AC代碼

C++
/** @Author: LetMeFly* @Date: 2025-04-30 17:23:40* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-04-30 17:25:14*/
#if defined(_WIN32) || defined(__APPLE__)
#include "_[1,2]toVector.h"
#endifclass Solution {
private:inline int getLength(int t) {int ans = 0;while (t) {ans++;t /= 10;}return ans;}
public:int findNumbers(vector<int>& nums) {int ans = 0;for (int t : nums) {ans += getLength(t) % 2 == 0;}return ans;}
};
Python
'''
Author: LetMeFly
Date: 2025-04-30 17:24:34
LastEditors: LetMeFly.xyz
LastEditTime: 2025-04-30 17:26:24
'''
from typing import Listclass Solution:def findNumbers(self, nums: List[int]) -> int:return sum(len(str(t)) % 2 == 0 for t in nums)
Java
/** @Author: LetMeFly* @Date: 2025-04-30 17:24:37* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-04-30 17:27:07*/
class Solution {private int getLength(int t) {int ans = 0;while (t > 0) {ans++;t /= 10;}return ans;}public int findNumbers(int[] nums) {int ans = 0;for (int t : nums) {if (getLength(t) % 2 == 0) {ans++;}}return ans;}
}
Go
/** @Author: LetMeFly* @Date: 2025-04-30 17:24:40* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-04-30 17:28:26*/
func findNumbers(nums []int) (ans int) {for _, t := range nums {cnt := 0for t > 0 {cnt++t /= 10}if cnt % 2 == 0 {ans++}}return
}

解題方法二:一次移除兩位

方法一中我們將元素一次除以10(移除元素的一位),但是問題求的是“元素位數是否為偶數”,那么我們為什么不可以在元素位數大于等于2的時候,一次移除兩位呢?最后看元素剩下一位還是零位不就知道元素十進制下的位數是奇數還是偶數了嗎。

時空復雜度分析

  • 時間復雜度 O ( l e n ( n u m s ) × log ? n u m s [ i ] ) O(len(nums)\times \log nums[i]) O(len(nums)×lognums[i])
  • 空間復雜度 O ( 1 ) O(1) O(1)
C++
/** @Author: LetMeFly* @Date: 2025-04-30 17:30:12* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-04-30 17:30:19*/
#if defined(_WIN32) || defined(__APPLE__)
#include "_[1,2]toVector.h"
#endifclass Solution {
public:int findNumbers(vector<int>& nums) {int ans = 0;for (int t : nums) {while (t >= 10) {t /= 100;}ans += t == 0;}return ans;}
};

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

千篇源碼題解已開源

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

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

相關文章

DDD是什么?電商系統舉例

一、DDD的基本概念 領域驅動設計&#xff08;Domain-Driven Design&#xff0c;簡稱DDD&#xff09;是由Eric Evans提出的一種軟件開發方法論&#xff0c;旨在應對復雜業務系統的設計和實現。它的核心思想是將軟件的設計與業務領域緊密結合&#xff0c;通過深入理解業務需求&a…

K8S ConfigMap 快速開始

一、什么是 ConfigMap&#xff1f; ConfigMap 是 Kubernetes 中用于存儲非敏感配置數據的 API 對象&#xff0c;支持以鍵值對&#xff08;Key-Value&#xff09;或文件的形式存儲配置&#xff0c;允許將配置與鏡像解耦&#xff0c;實現配置的集中管理和動態更新。 二、主要用…

Prometheus使用Recoding Rules優化性能

通過PromQL可以實時對Prometheus中采集到的樣本數據進行查詢&#xff0c;聚合以及其它各種運算操作。而在某些PromQL較為復雜且計算量較大時&#xff0c;直接使用PromQL可能會導致Prometheus響應超時的情況。這時需要一種能夠類似于后臺批處理的機制能夠在后臺完成這些復雜運算…

C++ RAII 編程范式詳解

C RAII 編程范式詳解 一、RAII 核心概念 RAII&#xff08;Resource Acquisition Is Initialization&#xff0c;資源獲取即初始化&#xff09; 是 C 的核心編程范式&#xff0c;通過將資源生命周期與對象生命周期綁定實現安全、自動化的資源管理。 核心原則&#xff1a; 資源…

Rust 學習筆記:枚舉與模式匹配

Rust 學習筆記&#xff1a;枚舉與模式匹配 Rust 學習筆記&#xff1a;枚舉與模式匹配定義枚舉&#xff08;Enum&#xff09;枚舉變量Option 枚舉及其相對于 NULL 的優勢match 和枚舉與 Option\<T\> 匹配match 應該是詳盡的Catch-all 模式和 _ 占位符使用 if let 和 let e…

《WebGIS之Vue進階教程》(13)ref的實現

1 為什么需要ref 由于proxy只能代理引用類型數據(如: 對象, 數組, Set, Map...), 需要一種方式代理普通類型數據(String, Number, Boolean...) 設計ref主要是為了處理普通類型數據, 使普通類型數據也具有響應式 除此之外, 通過reactive代理的對象可能會出現響應丟失的情況. 使…

Redis 緩存并發問題深度解析:擊穿、雪崩與穿透防治指南

Redis-緩存并發 引言&#xff1a;緩存&#xff0c;高性能架構的基石與并發挑戰一、 緩存擊穿&#xff1a;熱點 Key 失效引發的“單點風暴”1.1 什么是緩存擊穿&#xff1f;1.2 緩存擊穿的風險1.3 緩存擊穿的解決方案1.3.1 互斥鎖&#xff08;Mutex Lock&#xff09;/ 分布式鎖 …

Python 數據智能實戰 (4):智能用戶分群 - 融合行為

寫在前面 —— 超越 RFM 標簽,結合用戶行為與 LLM 文本洞察,實現更精準、更立體的客戶細分 歡迎回來!在前面的學習中,我們已經為 Python 數據智能工具箱添置了與大語言模型 (LLM) 交互的能力,特別是掌握了如何利用 LLM 將非結構化的文本信息轉化為包含深層語義的數值向量…

FreeMarker語法深度解析與Node.js集成實踐指南

一、FreeMarker核心語法體系 1.1 基礎模板結構 <#-- 注釋語法 --> ${expression} <#-- 輸出表達式 --> <#directive paramvalue> <#-- 指令語法 -->1.2 數據類型處理 標量類型深度處理&#xff1a; <#assign num 123.45?floor> <#--…

【計算機視覺】目標檢測:深度解析YOLOv5:下一代實時目標檢測框架實戰指南

深度解析YOLOv5&#xff1a;下一代實時目標檢測框架實戰指南 技術演進與架構設計YOLO系列發展脈絡YOLOv5核心架構1. 骨干網絡&#xff08;Backbone&#xff09;2. 特征融合&#xff08;Neck&#xff09;3. 檢測頭&#xff08;Head&#xff09; 環境配置與快速開始硬件要求建議詳…

STM32 定時器TIM

定時器基礎知識 定時器就是用來定時的機器&#xff0c;是存在于STM32單片機中的一個外設。STM32總共有8個定時器&#xff0c;分別是2個高級定時器(TIM1、TIM8)&#xff0c;4個通用定時器(TIM2、TIM3、TIM4、TIM5)和2個基本定時器(TIM6、TIM7)&#xff0c;如下圖所示: STM32F1…

OpenObserve API Usage Guide for Log Management

OpenObserve API Usage Guide for Audit Log Management 1. 概述 1.1 目標 本文檔旨在詳細介紹 OpenObserve 的 API 使用方法&#xff0c;幫助用戶通過 API 實現日志管理功能&#xff0c;包括日志攝入、查詢、模糊匹配&#xff08;類似 SQL 的 LIKE&#xff09;、stream 管理…

消防崗位技能競賽流程方案策劃

一、比賽目的&#xff1a; 為大力倡導“11.9”全國消防安全活動月&#xff0c;緊緊圍繞“人人參與消防&#xff0c;共創平安和諧”的活動主題&#xff0c;結合公司實際情況&#xff0c;特開展一次消防技能競賽活動。開展一場比思想、比工作作風、比消防業務技能、比業余文化生…

DAY9-USF4.0技術文檔筆記

目錄 1.概述 2.參考協議標準 3.術語與定義 4.引言 5.UFS架構 6.UFS電氣特性&#xff1a;時鐘、復位、信號與電源 7.復位、加電升壓和斷電降壓 8. M-PHY 9.UniPro 10.UTP 11.SCSI 12.UFS安全 13.UFS功能描述 14.描述符、標志與屬性 15.UFS機械標準 SCSI 查詢命令 1.重要產品…

安裝kubernetes 1.33版本

一、環境準備 1、內核升級 #升級內核&#xff1a; yum -y install kernel-ml-5.10.3-1.el7.elrepo.x86_64.rpm kernel-ml-devel-5.10.3-1.el7.elrepo.x86_64.rpm# 查詢可用內核版本 # awk -F\ $1"menuentry " {print i " : " $2} /etc/grub2.cfg# 調整默…

【IPMV】圖像處理與機器視覺:Lec8 Image Pyramid 圖像金字塔

【IPMV】圖像處理與機器視覺 本系列為2025年同濟大學自動化專業**圖像處理與機器視覺**課程筆記 Lecturer: Rui Fan、Yanchao Dong Lec0 Course Description Lec3 Perspective Transformation Lec7 Image Filtering Lec8 Image Pyramid 持續更新中 文章目錄 【IPMV】圖像處…

產品經理.產品設計.產品設計工具

一、 產品經理常用工具 1. 業務流程圖---系統流程圖 業務流程圖&#xff0c;面向用戶調研&#xff0c;描述業務的流轉和數據的處理要求&#xff0c;跟用戶和業務方確認&#xff1b;---業務角色的泳道流程圖。 系統流程圖&#xff0c;面向產品需求設計&#xff0c; prd系描述各…

6軸、智能、低功耗慣性測量單元BMI270及其OIS接口

BOSCH慣性傳感器IMUs 芯片代碼 通過00寄存器讀回的芯片編碼可以判斷芯片型號,BMI270為(0x24) &#xff0c;如不是該值&#xff0c;則說明不是BMI270。 型號芯片代碼BMI085CHIP_ID ( 0x1F)BMI088CHIP_ID ( 0x1E)BMI160CHIP_ID (0xD1)BMI270CHIP_ID (0x24)BMI323CHIP_ID (0x004…

【文獻速遞】鄰位連接技術(PLA)在細胞器相互作用中的應用

在神經科學研究領域&#xff0c;細胞死亡機制一直是關注的重點&#xff0c;尤其是與神經退行性疾病相關的細胞死亡形式。荷蘭格羅寧根大學的研究人員在2025年發表了“Regulation of calcium signaling prevents neuronal death mediated by NIST DEP in xenoferroptotic cell d…

六.割草機技術總結--6.RTK定位精度分析

六.割草機技術總結–6.RTK定位精度分析 6.1 1cm+1ppm 中的ppm是什么意思? 精度 RTK 位置精度(在 RTK 時)1 cm + 1 ppm ( 水 平 ) 1 . 5 cm + 1 ppm ( 垂 直 ),其中的ppm是什么意思? 在RTK(實時動態定位)技術中,ppm表示 Parts Per Million(百萬分之一),是一種與距離…