首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

LeetCode001|统计位数为偶数的数字

0x01,打卡001 既然喜欢,那么就去追求,当初的自己也是靠着做了几道算法题找到了心心念的实习工作,算是帮助了自己很多。...如果每天发一篇,又要经历两百个日日夜夜才能输出完,这对于自己又是一个坚持的过程,但是写文字和梳理自己写完的内容,是不是给自己带来了很多开心的时刻呢,同时也很心累?既然喜欢,那么就去追求。...0x02,题目简述 给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。...0x03,解题思路 循环遍历数组,统计每个数字的长度是否对2取模为0,时间复杂度为O(n),空间复杂度为O(1) 0x04,题解程序 ? 0x05,执行结果 ?...有些时候过于在乎别人对于自己的看法或者恭维对自己而言没有一点增进,每一段时光去思考或者沉淀一下自己的内容是多么值得自己骄傲的事情,戒急戒躁,保持善良也要学会去伪存真。

62820
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    2022-12-22:给定一个数字n,代表数组的长度, 给定一个数字m,代表数组每个位置都可以在1~m之间选择数字, 所有长度为n的数组中,最长递增子序列长度为

    2022-12-22:给定一个数字n,代表数组的长度,给定一个数字m,代表数组每个位置都可以在1~m之间选择数字,所有长度为n的数组中,最长递增子序列长度为3的数组,叫做达标数组。返回达标数组的数量。...1 的时候没有取模的逻辑,因为非重点。来自微众银行。...// f、s、t : ends数组中放置的数字!...// n : 一共的长度!// m : 每一位,都可以在1~m中随意选择数字// 返回值:i..... 有几个合法的数组!...// 尤其是理解ends数组的意义!fn number2(n: i32, m: i32) -> i32 { //repeat(vec!

    2.1K20

    JavaScript 转换数字为整数的方法

    比如下面的代码,结果为8,这样可以很方便的把其他的进制的数字转换为10进制的数字: parseInt(10,8) // 结果为8 当参数 radix 的值为 0,或没有设置该参数时,parseInt()...举例,如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。...如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。...如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。 注释 1. 只有字符串中的第一个数字会被返回。...我测试的结果如下,可以发现速度上,parseInt是最慢的,其他方法相对较快: ? 从代码量的角度来说,n | 0 或则 ~~n是字符最少的,写起来应该也是最方便的, 但是可读性会变差。

    1.1K10

    2022-12-22:给定一个数字n,代表数组的长度,给定一个数字m,代表数组每个位置都可以在1~m之间选择数字,所有长度为n的

    2022-12-22:给定一个数字n,代表数组的长度, 给定一个数字m,代表数组每个位置都可以在1~m之间选择数字, 所有长度为n的数组中,最长递增子序列长度为3的数组,叫做达标数组。...返回达标数组的数量。 1 <= n <= 500, 1 <= m <= 10, 500 * 10 * 10 * 10, 结果对998244353取模, 实现的时候没有取模的逻辑,因为非重点。...// f、s、t : ends数组中放置的数字!...// n : 一共的长度! // m : 每一位,都可以在1~m中随意选择数字 // 返回值:i..... 有几个合法的数组!...// 尤其是理解ends数组的意义! fn number2(n: i32, m: i32) -> i32 { //repeat(vec!

    90250

    给定一个长度为偶数的数组

    给定一个长度为偶数的数组arr,假设长度为N*2,左部分:arrL1……Ln,右部分: arrR1……Rn,请把arr调整成arrL1,R1,L2,R2,L3,R3,…,Ln,Rn。...return 2 * i } else { return 2*(i-(len2/2)) - 1 } } // 数组的长度为len,调整前的位置是i,返回调整之后的位置...从1开始 func modifyIndex2(i int, len2 int) int { return (2 * i) % (len2 + 1) } // 主函数 // 数组必须不为空,且长度为偶数.....R]范围上一定要是偶数个数字) func shuffle0(arr []int, L int, R int) { for R-L+1 > 0 { // 切成一块一块的解决,每一块的长度满足(...// 旋转完成后,从L开始算起,长度为base-1的部分进行下标连续推 cycles(arr, L, base-1, k) // 解决了前base-1的部分,剩下的部分继续处理

    34210

    和为S的两个数字

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 解题思路 法一:哈希法。...用一个HashMap,它的 key 存储数S与数组中每个数的差,value 存储当前的数字,比较S=15, 当前的数为 4,则往 hashmap 中插入(key=11, value=4)。...我们遍历数组,判断hashmap 中的 key 是否存在当前的数字,如果存在,说明存在着另一个数与当前的数相加和为 S,我们就可以判断它们的乘积是否小于之前的乘积,如果小的话就替换之前的找到的数字,如果大就放弃当前找到的...如果hashmap 中的 key 不存在当前的数字,说明还没有找到相加和为 S 的两个数,那就把S与当前数字的差作为 key,当前数字作为 value 插入到 hashmap 中,继续遍历。...法二:左右夹逼的方法。a+b=sum,a和b越远乘积越小,因为数组是递增排序,所以一头一尾两个指针往内靠近的方法找到的就是乘积最小的情况。

    47220

    正则表达式 至少6位-字母,数字,下划线或者数字的正则表达式

    \.0+|0)$   二、校验字符的表达式   汉字:^[\u4e00-\u9fa5]{0,}$   英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$   长度为3-...$   帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^a-zA-Z{4,15}$   密码(以字母开头正则表达式 至少6位,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z...]\w{5,17}$   强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):^(?...+[a-zA-Z0-9]+\.x|X[l|L]$   中文字符的正则表达式:[\u4e00-\u9fa5]   双字节字符:3 (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII...\d))   四、字母,数字,下划线或者数字的正则表达式   1.由数字、26个英文字母或者下划线组成的字符串:   ^[0-9a-zA-Z_]{1,}$   2.非负整数(正整数 + 0 ):   ^

    3.7K20

    给定一个长度为偶数的数组arr,假设长度为N*2,左部分:arr,右部分:

    给定一个长度为偶数的数组arr,假设长度为N*2,左部分:arr[L1……Ln],右部分:arr[R1……Rn],请把arr调整成arr[L1,R1,L2,R2,L3,R3,…,Ln,Rn]。...return 2 * i } else { return 2*(i-(len2/2)) - 1 } } // 数组的长度为len,调整前的位置是i,返回调整之后的位置...从1开始 func modifyIndex2(i int, len2 int) int { return (2 * i) % (len2 + 1) } // 主函数 // 数组必须不为空,且长度为偶数.....R]范围上一定要是偶数个数字) func shuffle0(arr []int, L int, R int) { for R-L+1 > 0 { // 切成一块一块的解决,每一块的长度满足(...// 旋转完成后,从L开始算起,长度为base-1的部分进行下标连续推 cycles(arr, L, base-1, k) // 解决了前base-1的部分,剩下的部分继续处理

    60640

    Python|划分数组为连续数字的集合

    问题描述 给你一个整数数组 nums 和一个正整数 k,请你判断是否可以把这个数组划分成一些由 k 个连续数字组成的集合。如果可以,请返回 True;否则,返回 False。...这里我要介绍的是另外一种更加容易理解的方法: 首先我们先将我们的列表进行排序,便于接下来的判断 因为我们用到的方法是删除,所以我们在一开始先通过一个while循环,只要该列表长度大于0该程序就一直进行。...还有便是只要列表内数字信号与k个,直接跳出不符合。...然后我们一个一个遍历,从第一个数字开始,通过循环k-1次判断这个数后面的三个满足自己比前一个的大于一,如果满足,就符合,就将其装入我们另一个结果列表。...最后如果循环完也没有发现满足的数字,那么就直接“false” Python代码: def isPossibleDivide(nums,k): nums = sorted(nums) while

    1.6K20
    领券