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

1、判断传入参数0或整数多种思路

一、判断字符串是否整数多种思路 1)使用sed加正则表达式 删除字符串中所有数值,看字符串长度是否0来判断 [ -n "`echo oldboy123|sed 's#[0-9]##g'`" ]...,如果参与计算是非整数,就会报错,查看返回值就能确定 expr oldboy + 0 &>/dev/null;echo $?...=~ ^[0-9]+$ ]] && echo int || echo char int 二、判断字符串是否0多种思路 1) 使用字符串表达式-z和-n [ -z "oldboy" ] && echo...length函数统计 [ `echo oldboy|awk '{print length}'` -eq 0 ] && echo "zero" || echo "no zero" 三、扩展:判断传入参数个数是否满足要求...假如要求传入两个参数,则可以直接判断第二个参数是否空,如果空,则表示第二个参数不存在 [ -z $2 ] && echo "zero" || echo "no zero"

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

2022-09-09:给定一个正整数 n,返回 连续正整数满足所有数字之和 n 组数 。 示例 1:输入: n = 5输出:

2022-09-09:给定一个正整数 n,返回 连续正整数满足所有数字之和 n 组数 。...示例 1: 输入: n = 5 输出: 2 解释: 5 = 2 + 3,共有两组连续整数([5],[2,3])求和后为 5。...+ 2 + 3 + 4 + 5 答案2022-09-09: 如果有,N = (x+1) + (x+2) + ... + (x+k) 上式子可以化简:N = kx + k(k+1)/2 左右两边同时乘以...k + 1),这个式子来说,只要给定不同一组x和k,就对应一种不同方案 进一步分析可以看出: 如果k偶数,那么2x + k + 1就是奇数 如果k奇数,那么2x + k + 1就是偶数 2N...= 左 K 右 2x + k + 1 2N 奇数因子K, 2x + k + 1 也就是说,对于每一种方案,k和2x + k + 1,一定是不同,并且连奇偶性都相反 所以2N里任何一个奇数因子,可能作为

67250

2022-09-09:给定一个正整数 n,返回 连续正整数满足所有数字之和 n 组数 。 示例 1: 输入: n = 5 输出: 2 解释: 5 = 2 +

2022-09-09:给定一个正整数 n,返回 连续正整数满足所有数字之和 n 组数 。...示例 1: 输入: n = 5 输出: 2 解释: 5 = 2 + 3,共有两组连续整数(5,2,3)求和后为 5。...+ 2 + 3 + 4 + 5 答案2022-09-09: 如果有,N = (x+1) + (x+2) + ... + (x+k) 上式子可以化简:N = kx + k(k+1)/2 左右两边同时乘以...k + 1),这个式子来说,只要给定不同一组x和k,就对应一种不同方案 进一步分析可以看出: 如果k偶数,那么2x + k + 1就是奇数 如果k奇数,那么2x + k + 1就是偶数 2N...= 左 K 右 2x + k + 1 2N 奇数因子K, 2x + k + 1 也就是说,对于每一种方案,k和2x + k + 1,一定是不同,并且连奇偶性都相反 所以2N里任何一个奇数因子,可能作为

62510

2023-07-11:给定整数 n, 返回在 范围内具有 至少 1 位 重复数字整数个数。 输入:n =

2023-07-11:给定整数 n, 返回在 [1, n] 范围内具有 至少 1 位 重复数字整数个数。 输入:n = 100。 输出:10。...首先计算n位数和一个偏移量offset,其中偏移量初始值1,算法通过迭代计算tmp = n / 10商,直到商0为止,每次迭代位数加1,偏移量乘以10。 3.计算每个长度非重复数字个数。...5.最后结果n加1减去noRepeat,即在[1, n]范围内至少有1位重复数字整数个数。...该代码在给定整数n范围内采用了一种比较高效算法,通过一系列位运算和迭代计算,找出了每个位数下非重复数字个数,然后根据n位数和偏移量来计算在该位数下包含至少1位重复数字整数个数,并将它们相加得出最终结果...该代码时间复杂度O(log10(n) * 2 ^ 10),其中n是输入整数

20720

2021-08-11:按要求补齐数组。给定一个已排序整数数组 nums,和一个正整数 n 。从 区间内选取任意

2021-08-11:按要求补齐数组。给定一个已排序整数数组 nums,和一个正整数 n 。...从 [1, n] 区间内选取任意个数字补充到 nums 中,使得 [1, n] 区间内任何数字都可以用 nums 中某几个数字和来表示。请输出满足上述要求最少需要补充数字个数。...福大大 答案2021-08-11: 用尽可能大数字扩充range范围。尽可能大数字是range+1。 时间复杂度:O(数组长度+log(n))。 空间复杂度:O(1)。 代码用golang编写。...= len(arr); i++ { // arr[i] // 要求1 ~ arr[i]-1 范围被搞定!...for arr[i]-1 > range2 { // arr[i] 1 ~ arr[i]-1 range2 += range2 + 1 // range + 1 是缺数字

48430

javascript 判断参数是否非0整数数字或者整数数字字符串简单方法(小装逼)

javascript 判断参数是否非0整数数字或者整数数字字符串简单方法(小装逼) 我们来判断一个值是否数字,可以把它转化为数字,看是否NaN 然后,再判断是否等于0即可简单来实现判断了...其实 isNaN 对于非数字输出都是 true ,所以,代码可以修改为: (num) => { if (!isNaN(num)){ if (num !...+num) { // do something } } 看不懂了,得解释以下, + 可以把任何东西变成 数字或者 NaN ,而如果值等于0,转化为布尔值也是false,所以,判断可以合并为...看上去不错,换个思路,既然 0 是false 那么我们能不能把所有的非数字或者数字字符串内容变成 0 呢?...判断条件是可以自动转化为布尔值。所以,上上个例子中 !!是多余。 (num) => { if (+num) { // do something } }

1.4K40

2023-06-24:给你一根长度 n 绳子, 请把绳子剪成整数长度 m 段, m、n都是整数,n > 1并且m > 1

2023-06-24:给你一根长度 n 绳子, 请把绳子剪成整数长度 m 段, m、n都是整数,n > 1并且m > 1, 每段绳子长度记为 k[0],k[1]...k[m - 1]。...答案2023-06-24: 具体步骤如下: 1.如果n <= 3,返回n-1。 2.如果n > 3,计算剩下绳子长度n - 4,此时剩下长度4。...3.如果剩下长度0,即n3倍数,最后一段长度1;如果剩下长度2,最后一段长度2;如果剩下长度4,最后一段长度4。...6.返回(power(3, rest/3) * last) % mod作为最大乘积结果。 例如,当n10,按照上述步骤计算: 1.n > 3且不是3倍数,剩下长度2,最后一段长度2。...4.返回(power(3, 8/3) * 2) % mod,计算结果36,即最大乘积。 因此,输入10,输出36。 该代码时间复杂度O(log(n)),空间复杂度O(1)。

15830
领券