当前位置: 首页 > wzjs >正文

如何做产品销售网站qq推广网站

如何做产品销售网站,qq推广网站,wordpress检索,设计logo说明【LetMeFly】1295.统计位数为偶数的数字:模拟 力扣题目链接:https://leetcode.cn/problems/find-numbers-with-even-number-of-digits/ 给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。 示例 1: 输入&#xff1…

【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.dtcms.com/wzjs/88661.html

相关文章:

  • wordpress 修改发布时间合肥优化推广公司
  • 赚钱做网站软文范例500字
  • 天津企业网站建设公司站长聚集地
  • 深圳做网站比较好的公司有哪些2023年7 8月十大新闻
  • wordpress 评论框 模板关键词优化哪家强
  • 网站模板出售巢湖seo推广
  • php做的网站首页是什么文件夹百度客服中心人工在线
  • 网页网站设计培训佛山网站建设技术托管
  • 公司网站开发的流程制作网站需要什么软件
  • 学校网站功能怎么做app推广代理
  • dw做网站乱码郑州seo方案
  • 本地集团网站建设百度竞价排名公司
  • 企业服务是做什么的seo外链工具有用吗
  • 中企动力邮箱登录端口百度移动端优化
  • 阜宁网站建设服务商百度最新收录方法
  • b站推广入口2023mmm无病毒杭州网站推广大全
  • 网站流量怎样挣钱百度网站收录提交
  • 成都网站建设潮州网站权重等级
  • seo网站推广电话百度高级搜索网址
  • 苏州前几天网站建设软文营销案例文章
  • 申请个人企业邮箱seo手机端优化
  • 指定网站长期建设 运营计划中国百强企业榜单
  • 网站滚动效果怎么做的最近三天的新闻大事摘抄
  • 现在那个网站做视频最赚钱爱站网关键词挖掘
  • 如何建网络营销网站最好的免费信息发布平台
  • 网站建设发展历程ppt网络运营课程培训班
  • 贵阳企业网站百度风云榜明星
  • 网站建设比较好的公司都有哪些如何成为app推广代理
  • 用jsp做的网站需要什么工具临沂网站seo
  • 做网站与做软件青岛做网站推广