首页
学习
活动
专区
工具
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"

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

    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里任何一个奇数因子,可能作为

    69950

    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里任何一个奇数因子,可能作为

    68510

    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是输入整数

    22920

    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 是缺数字

    49230

    2024-07-13:用go语言,给定一个从0开始长度n整数数组nums和一个从0开始长度m整数数组pattern,

    2024-07-13:用go语言,给定一个从0开始长度n整数数组nums和一个从0开始长度m整数数组pattern,其中pattern数组仅包含整数-1、0和1。...一个子数组nums[i..j]大小m+1,如果满足以下条件,则我们称该子数组与模式数组pattern匹配: 1.若pattern[k]1,则nums[i+k+1] > nums[i+k]; 2.若...解释:模式 [1,1] 说明我们要找子数组是长度 3 且严格上升。在数组 nums 中,子数组 [1,2,3] ,[2,3,4] ,[3,4,5] 和 [4,5,6] 都匹配这个模式。...大体步骤如下: 1.在主函数main中,定义了一个nums数组[1,2,3,4,5,6]和一个模式数组pattern[1,1]。...4.最后,在z数组中,从第m+1个值开始遍历,如果匹配长度等于模式数组长度m,则将计数器ans加一。 综上所述,总时间复杂度O(n)(nnums数组长度),总额外空间复杂度O(n)。

    8420

    2024-07-06:用go语言,给定一个从0开始长度n整数数组nums和一个从0开始长度m整数数组pattern,

    2024-07-06:用go语言,给定一个从0开始长度n整数数组nums和一个从0开始长度m整数数组pattern,其中pattern数组元素只包含-1、0和1。...我们定义“匹配”子数组,对于一个大小m+1子数组nums[i..j],如果对于pattern数组中每个元素pattern[k]都满足以下条件: 1.如果pattern[k]1,则nums[i+...要求计算有多少个子数组符合以上匹配条件。 输入:nums = [1,2,3,4,5,6], pattern = [1,1]。 输出:4。...解释:模式 [1,1] 说明我们要找子数组是长度 3 且严格上升。在数组 nums 中,子数组 [1,2,3] ,[2,3,4] ,[3,4,5] 和 [4,5,6] 都匹配这个模式。...整体时间复杂度 O(n),其中 n nums 数组长度。额外空间复杂度 O(n),用于存储额外辅助信息。

    10020

    2024-08-28:用go语言,给定一个从1开始、长度n整数数组nums,定义一个函数greaterCount(arr,

    2024-08-28:用go语言,给定一个从1开始、长度n整数数组nums,定义一个函数greaterCount(arr, val)可以返回数组arr中大于val元素数量。...3.对于第i次操作: 3.1.如果arr1中大于nums[i]元素数量比arr2中大于nums[i]元素数量多,将nums[i]加入arr1。...将arr1和arr2连接起来形成结果数组result。 要求返回整数数组result。 输入:nums = [2,1,3,3]。 输出:[2,3,1,3]。...4.返回将arr1和arr2连接而成结果数组result。 总时间复杂度分析O(n log n),其中n数组nums长度。...总额外空间复杂度O(n),主要是用于存储排序后数组、索引映射表、两个Binary Indexed Tree结构以及结果数组。

    11520

    2024-07-31:用go语言,给定两个正整数数组arr1和arr2,我们要找到属于arr1整数x和属于arr2整数y组成

    2024-07-31:用go语言,给定两个正整数数组arr1和arr2,我们要找到属于arr1整数x和属于arr2整数y组成所有数对(x, y)中,具有最长公共前缀长度。...(10, 1000) 最长公共前缀是 10 。(100, 1000) 最长公共前缀是 100 。 最长公共前缀是 100 ,长度 3 。...大体步骤如下: 要解决给定问题,主要分为以下大体步骤: 1. 初始化一个集合:创建一个映射(集合)has,用于存储arr1中所有整数前缀。这个集合将用于后续查找整数是否在arr1某个前缀。...提取前缀:遍历arr1每个整数,对于每个整数,计算其每个可能前缀(即数字逐位除以10,直到数字0),并将每个前缀存入has集合中。这将使得has含有arr1中所有数字所有前缀。 3....如果存在,则更新mx当前整数前缀值,与当前存储mx进行比较,保留较大值。 5. 计算结果:检查mx值,如果mx0,表示没有找到公共前缀,返回0。

    9920
    领券