首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

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

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

87230

2023-05-13:你现在手里有一份大小 n x n 网格 grid, 上面的每个 单元格 都用 01 标记好了其中 0 代表海洋,1 代表陆地。

2023-05-13:你现在手里有一份大小 n x n 网格 grid,上面的每个 单元格 都用 01 标记好了其中 0 代表海洋,1 代表陆地。...请你找出一个海洋单元格,这个海洋单元格到离它最近陆地单元格距离是最大,并返回该距离。如果网格上只有陆地或者海洋,请返回 -1。...我们这里说距离是「曼哈顿距离」( Manhattan Distance):(x0, y0) 和 (x1, y1) 这两个单元格之间距离是 |x0 - x1| + |y0 - y1| 。...queue,用于存储队列中每个元素;声明整数变量l和r,分别表示队列左右端点;声明整数变量find,统计已经找到海洋数量;声明整数变量seas,统计海洋总数量;声明整数变量distance,表示最深能找到海洋层数...时间复杂度:初始化visited数组、queue数组和一些变量时间复杂度是O(n^2),其中n网格边长;遍历整个网格时间复杂度也是O(n^2);BFS搜索时间复杂度最坏情况下是O(n^2),因为最多需要遍历整个网格

59100

2022-08-24:给定一个长度3N数组,其中最多含有01、2三种值, 你可以把任何一个连续区间上数组,全变成01、2中一种, 目的是让01、2

2022-08-24:给定一个长度3N数组,其中最多含有01、2三种值,你可以把任何一个连续区间上数组,全变成01、2中一种,目的是让01、2三种数字个数都是N。返回最小变化次数。...统计0,1,2扣去N/3个数之和。比如1,1,11有3个,多了两个;而0和2都是0个,不统计;所以结果是2。时间复杂度:O(N)。代码用rust编写。...+= 1; } if cnt[0] == cnt[1] && cnt[0] == cnt[2] { return 0; } let n = arr.len() as.../ 0 -> 7个// 2 -> 12个 1 -> 11个// 多数 2// 少0fn modify(arr: &mut Vec, more: i32, more_t: i32,...] += 1; ll += 1; } else { // 在窗口之外,多数,够了!

74710

2023-05-11:给你一个 m x n 二进制矩阵 grid, 每个格子要么 0 (空)要么 1 (被占据), 给你邮票尺寸 stampHeigh

2023-05-11:给你一个 m x n 二进制矩阵 grid,每个格子要么 0 (空)要么 1 (被占据),给你邮票尺寸 stampHeight x stampWidth。...2.对 grid 中每个 0 位置 (i, j),检查以该位置左上角子矩阵是否能够被指定印章完全覆盖。...这里 diff 矩阵用于记录每个位置变化量。3.遍历 grid 中每一行,使用滚动数组方式还原 cnt 和 pre 数组,并通过它们来计算每列中 0 位置数量。...同时,如果某个位置 (i, j) 0 且它所在列中没有其他 0,则返回 false;否则返回 true。时间复杂度 O(mn),其中 m 和 n 分别表示矩阵 grid 行数和列数。...空间复杂度 O(mn),因为函数中创建了两个 m+1 行 n+1二维数组 sum 和 diff,以及一个长度 n+1 一维数组 cnt 和 pre。

42320

2023-06-18:给定一个长度N一维数组scores, 代表0~N-1号员工初始得分, scores = a,

2023-06-18:给定一个长度N一维数组scores, 代表0~N-1号员工初始得分, scores[i] = a, 表示i号员工一开始得分是a, 给定一个长度M二维数组operations...返回一个长度N一维数组ans,表示所有操作做完之后,每个员工得分是多少。 1 <= N <= 106次方, 1 <= M <= 106次方, 0 <= 分数 <= 109次方。...答案2023-06-18: 具体步骤如下: 1.创建一个长度N一维数组scores,表示每个员工初始得分。 2.创建一个长度M二维数组operations,表示操作序列。...8.对于类型1操作,获取小于当前得分最大得分值floorKeyV,然后将它们桶合并到新得分值对应桶中。...• 遍历得分和桶映射表scoreBucketMap,每个桶中员工节点数量O(1),遍历时间复杂度O(N)。 • 总体时间复杂度O(N + KlogN),其中K操作序列长度。

16120

2022-11-07:给你一个 n 个节点 有向图 ,节点编号为 0 到 n - 1 ,其中每个节点 至多 有一条出边。 图用一个大小 n 下标从 0 开始

2022-11-07:给你一个 n 个节点 有向图 ,节点编号为 0 到 n - 1 ,其中每个节点 至多 有一条出边。...图用一个大小 n 下标从 0 开始数组 edges 表示,节点 i 到节点 edgesi 之间有一条有向边。如果节点 i 没有出边,那么 edgesi == -1 。...请你返回图中 最长 环,如果没有任何环,请返回 -1 。输入:edges = 3,3,4,2,3。输出:3。答案2022-11-07:一个环指的是起点和终点是 同一个 节点路径。用强联通分量。...(); for i in 0..n { cnt[scc[i as usize] as usize] += 1; } let mut ans...let mut top = 0; self.stack_size -= 1; top = self.stack[self.stack_size

83710

2023-04-16:给定一个长度N数组,值一定在0~N-1范围,且每个值不重复比如,arr = [4, 2, 0, 3,

2023-04-16:给定一个长度N数组,值一定在0~N-1范围,且每个值不重复 比如,arr = [4, 2, 0, 3, 1] 0 1 2 3 4 把0想象成洞...,任何非0数字都可以来到这个洞里,然后在原本位置留下洞 比如4这个数字,来到0所代表洞里,那么数组变成 : arr = [0, 2, 4, 3, 1] 也就是原来洞被4填满,4走后留下了洞 任何数字只能搬家到洞里...,并且走后留下洞 通过搬家方式,想变成有序,有序有两种形式 比如arr = [4, 2, 0, 3, 1],变成 [0, 1, 2, 3, 4]或者[1, 2, 3, 4, 0]都叫有序。...返回变成任何一种有序情况都可以,最少数字搬动次数。 来自谷歌。 答案2023-04-16: # 解题步骤: 1....对于第二种有序情况,我们可以先倒序遍历数组,找出每个数需要移动最小距离,从而计算出需要移动次数。 3. 最后比较这两种情况下最小搬动次数,返回较小值即可。 注意事项: 1.

28430

2023-01-06:给定一个只由小写字母组成字符串str,长度N, 给定一个只由01组成数组arr,长度N, arr == 0表示str中i位

2023-01-06:给定一个只由小写字母组成字符串str,长度N,给定一个只由01组成数组arr,长度N,arri等于 0 表示str中i位置字符不许修改,arri 等于 1表示str中i...位置字符允许修改,给定一个正数m,表示在任意允许修改位置,可以把该位置字符变成a~z中任何一个,可以修改m次。...返回在最多修改m次情况下,全是一种字符最长子串是多长。1 <= N, M <= 10^5,所有字符都是小写。来自字节。答案2023-01-06:尝试全变成a一直到全变成z,遍历26次。...[1, 1, 0, 1, 0, 1, 0, 0, 1, 0]; let m = 4; let ans = max_len2(&str, &mut arr, m); println!...'a'; aim <='z'; aim = bytes1(uint8(aim)+1)) {// 右边界// [l..r)int32 r = 0;// 用了几次修改了// change == m 用完时候

1.1K10

2023-05-07:给你一个大小 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。 返回执行此操作后,grid 中最大岛屿面积是多少

2023-05-07:给你一个大小 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。返回执行此操作后,grid 中最大岛屿面积是多少?...答案2023-05-07:算法步骤:1.遍历输入矩阵 grid,对于每个岛屿进行标记,并用数组 sizes 统计每个岛屿大小。...2.遍历矩阵 grid,对于每个位置上值,如果当前位置上非零正整数,则更新答案当前岛屿大小。...3.遍历矩阵 grid,当当前位置上 0 时,分别查看该位置上、下、左、右四个方向是否有与其相邻且已经被访问过岛屿,并将它们大小累加起来。...如果这些岛屿大小之和加上当前位置上自身大小可以更新最大岛屿面积,则更新答案。4.返回答案。时间复杂度:$O(n^2)$ ,遍历了三次矩阵,每次遍历时间复杂度均为 $O(n^2)$。

34910

2023-11-22:用go语言,给你一个长度 n 下标从 0 开始整数数组 nums。 它包含 1 到 n 所有数字,请

2023-11-22:用go语言,给你一个长度 n 下标从 0 开始整数数组 nums。 它包含 1 到 n 所有数字,请你返回上升四元组数目。...大体过程如下: 算法1:countQuadruplets1 1.初始化变量:n数组长度,ans结果计数器,dp动态规划数组。...2.遍历数组,从第二个元素开始(下标1): a.初始化计数器cnt0。...算法2:countQuadruplets2 1.初始化变量:n数组长度,ans结果计数器,dp动态规划数组。 2.遍历数组,从第二个元素开始(下标1): a.初始化计数器cnt0。...总时间复杂度:两种算法时间复杂度都是O(n^2),因为需要两层循环遍历数组。 总额外空间复杂度:两种算法空间复杂度都是O(n),因为需要使用一个长度n动态规划数组dp。

18030

2023-04-16:给定一个长度N数组,值一定在0~N-1范围,且每个值不重复比如,arr =

2023-04-16:给定一个长度N数组,值一定在0~N-1范围,且每个值不重复比如,arr = 4, 2, 0, 3, 10 1 2 3 4把0想象成洞,任何非0数字都可以来到这个洞里,然后在原本位置留下洞比如...4这个数字,来到0所代表洞里,那么数组变成 : arr = 0, 2, 4, 3, 1也就是原来洞被4填满,4走后留下了洞任何数字只能搬家到洞里,并且走后留下洞通过搬家方式,想变成有序,有序有两种形式比如...arr = 4, 2, 0, 3, 1,变成0, 1, 2, 3, 4或者1, 2, 3, 4, 0都叫有序。...返回变成任何一种有序情况都可以,最少数字搬动次数。来自谷歌。...这种样子,至少交换几次// ans2 : 1 2 3 4 .... 0 这种样子,至少交换几次// m : 每个环里有几个数// next : 往下跳位置n := len(nums)ans1, ans2

74200

ICMEW 2023 | 人类和机器可扩展编码条件方法和残差方法

通常每个任务子集创建表示并不能随着任务数量增加而很好地扩展,此外如果某些任务信息已经被传输,并且现在相同输入需要原始任务集,则传输新相应表示将导致冗余信息开销。...作者还提出了一种熵模型,具有增强建模潜力,适合条件编码。 模型 整体架构 图 1 整体架构 图 1 是作者所提出条件方法和残差方法整体架构。...作为较低基线,作者使用 ,这是因为考虑到 作为任务表示比 更有效,并且受 (1) 和 (2) 中界限限制。...图 2 (a) 显示了层单个输出通道内核掩码。 与之前工作不同,作者熵模型 CNN 架构具有可扩展残差连接和更深层,其自回归卷积核大小大于 1。...在这些块之间引入残差连接,以便可以在通道维度上以不同方式重新缩放输入。为了在通道数量变化时保持马尔可夫特性,组大小会相应地重新缩放,并且通道只能以 M 倍数变化。

7910

2023-10-18:用go语言,给定一个数组arr,长度n,表示有0~n-1号设备, arr表示i号设备型号,型号

2023-10-18:用go语言,给定一个数组arr,长度n,表示有0~n-1号设备, arr[i]表示i号设备型号,型号种类从0~k-1,一共k种型号, 给定一个k*k矩阵map,来表示型号之间兼容情况...答案2023-10-18: 大体步骤: 1.创建一个二维切片 own,长度 k,用于记录每个型号设备编号。 2.创建一个二维切片 nexts,长度 k,用于记录每个型号兼容下一个型号。...6.将起始设备 (0, 0) 添加到堆中,表示从 0 号设备开始,修建代价 0。 7.创建一个长度 n 布尔型切片 visited,用于标记设备是否被访问过。...8.当堆不为空时,进行以下操作: • 弹出堆顶元素 t,表示当前位置和当前修建代价。 • 获取当前位置 cur 设备编号和修建代价。 • 如果当前位置目标位置 n-1,则返回当前修建代价。...遍历拥有型号设备位置过程复杂度 O(n),堆操作复杂度 O(logn),遍历所有可能型号和设备位置复杂度 O(k^2),所以总时间复杂度 O(nk^2logn)。

26120

利用统计方法,辨别和处理数据中异常值

我们调用randn()函数来生成随机高斯值,平均数0,标准差1,然后将结果乘以我们自己设定标准差,然后加上平均数,让这些值成为首选。...我们可以过滤出样本中那些超出定义界限值。 ? 我们可以将这些与在前一节中准备样本数据集放在一起。 下面列出了完整示例。 ?...如果你有多变量数据,例如每个多变量数据都符合不同高斯分布,那么你也可以使用相同方法。如果你有两个变量,你可以想象把两个维度界限定义一个椭圆。三个维度可能会形成椭圆体,以此类推。...我们也可以利用界限对数据集中异常值进行过滤。 ? 我们可以将这些结合起来,并在测试数据集上演示该过程。 下面举出了完整示例。 ?...这一方法可以通过依次计算数据集中每个变量界限,来处理多变量数据,而且观察结果中异常值即为落在矩形或矩形范围外数值。 扩展 这节列出了一些你可能会想要探索扩展问题。

3.1K30
领券