leetcode-168周赛-1295-统计位数为偶数的数字

题目描述:

方法一:O(N)

class Solution:
    def findNumbers(self, nums: List[int]) -> int:
        ans=0
        for num in nums:
            if len(str(num))%2==0:
                ans+=1
        return ans

方法二:数学 O(N)

class Solution:
    def findNumbers(self, nums: List[int]) -> int:
        return sum(1 for num in nums if int(math.log10(num) + 1) % 2 == 0)

原文地址:https://www.cnblogs.com/oldby/p/12098477.html

时间: 2024-10-12 13:50:52

leetcode-168周赛-1295-统计位数为偶数的数字的相关文章

[leetcode 双周赛 11] 1228 等差数列中缺失的数字

1228 Missing Number In Arithmetic Progression 等差数列中缺失的数字 问题描述 有一个数组, 其中的值符合等差数列的数值规律, 也就是说: 在?0 <= i < arr.length - 1?的前提下, arr[i+1] - arr[i]?的值都相等. 我们会从该数组中删除一个 既不是第一个 也 不是最后一个的值, 得到一个新的数组??arr. 给你这个缺值的数组?arr, 请你帮忙找出被删除的那个数. 示例 1: 输入: arr = [5,7,11

Java 找出四位数的全部吸血鬼数字 基础代码实例

/** * 找出四位数的全部吸血鬼数字 * 吸血鬼数字是指位数为偶数的数字,能够由一对数字相乘而得到,而这对数字各包括乘积的一半位数的数字,当中从最初的数字中选取的数字能够随意排序. * 以两个0结尾的数字是不同意的. *   比例如以下列数字都是吸血鬼数字 1260=21*60 1827=21*87 2187=27*81 ... * 比較笨的低效率的做法: 遍历全部四位数, 每生成一个四位数的时候, *         在双重循环遍历两位数,在两位数的内层循环中推断是否与最外层循环的四位数相等

[LeetCode]小工具,统计数量,隐藏上锁的题目

LeetCode Problems List没有统计数量的功能,顺手写了一个. 下面两段只是用jquery调整网页上显示的内容,刷新网页就没用了. 比如想看题目里一共有多少Easy, Medium和Hard,就在浏览器Console中运行下面的代码. 还有一种用法,比如看还有多少没做,或者没做的题中有多少Easy, Medium和Hard,先选Unsolved Problems的filter,再用控制台运行该代码. 1 //Count Problems 2 var list = $("tbody

LeetCode双周赛10

Leetcode双周赛10 5079.三个有序数组的交集 给出三个均为 严格递增排列 的整数数组 arr1,arr2 和 arr3. 返回一个由 仅 在这三个数组中 同时出现 的整数所构成的有序数组. 示例: 输入: arr1 = [1,2,3,4,5], arr2 = [1,2,5,7,9], arr3 = [1,3,4,5,8] 输出: [1,5] 解释: 只有 1 和 5 同时在这三个数组中出现. 提示: 1 <= arr1.length, arr2.length, arr3.length

【noi 2.6_9272】偶数个数字3(DP)

题意:问所有的N位数中,有多少个有偶数个数字3的数. 解法:f[i][j]表示i位数中含数字3的个数模2为j的个数.于是分第i位填3还是不填3讨论. 小tip:要模12345:for循环新定义了一个变量会慢一点点~ 1 #include<cstdio> 2 #include<cstdlib> 3 #define N 1010 4 #define mod 12345 5 6 int f[2][2]; 7 int main() 8 { 9 int n; 10 scanf("%

【OpenJudge9272】【DP】偶数个数字3

偶数个数字3 总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 131072kB [描述] 在所有的N位数中,有多少个数中有偶数个数字3? [输入] 一行给出数字N,N<=1000 [输出] 如题 [样例输入] 2 [样例输出] 73 [Solution] 用dp[i][1]表示i位数有奇数个三的数量,dp[i][0]表示有偶数个三的数量.dp[i][1]可以从dp[i-1][1]首位添加0 1 2 4 5 6 7 8 9和dp[i-1][0]首位添加3转移,dp[i

打印出所有的&quot;水仙花数&quot;,所谓&quot;水仙花数&quot;是指一个三位数,其各位数字立方和等于该数本身。

package com.mumu.ready; public class Daffodils { // 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身. // 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方. public static void main(String[] args) { for (int i = 100; i < 1000; i++) { in

打印出所有&quot;水仙花数&quot;,所谓&quot;水仙花数&quot;是指一个三位数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。

题目描述 打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身. 例如:153是一个水仙花数,因为153=1^3+5^3+3^3. Output: 153 ??? ??? ??? 输入 无 输出 所有的水仙花数,从小的开始. 每行一个 样例输入 无 样例输出 无 程序:#include<stdio.h>int main(){    int i,a,b,c;    for(i=100;i<1000;i++)    {  

41.用c++编写程序:从键盘上任意输20个1-99之间的整数,分别统计其个位数0-9的数字各有多少

//1.输入数字需要保存在数组中,注意数组的首元素问题//2.需要截取出各位数字//3.判断是哪一个数字//4.进行计数 (1)我出错的程序: #include<iostream> using namespace std; int main() { int p[20]; int temp; int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0; cout<<"please input 20 numbers between 1~99: &q