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

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取模, 实现时候没有取模逻辑,因为非重点。...).take(n as usize).collect(); return process1(0, n, m, &mut a); } fn process1(i: i32, n: i32, m:...// n : 一共长度! // m : 每一位,都可以1~m随意选择数字 // 返回值:i..... 有几个合法数组!...// 尤其是理解ends数组意义! fn number2(n: i32, m: i32) -> i32 { //repeat(vec!

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

2021-06-30:给定长度m字符串aim,以及一个长度n字符串str ,问能否str中找到一个长度m连续子串,

2021-06-30:给定长度m字符串aim,以及一个长度n字符串str ,问能否str中找到一个长度m连续子串, 使得这个子串刚好由aimm个字符组成,顺序无所谓, 返回任意满足条件一个子串起始位置...all := M R := 0 // 0~M-1 for ; R < M; R++ { // 最早M个字符,让其窗口初步形成 if count[s1[R]] >...all-- } else { count[s1[R]]-- } } // 窗口初步形成了,并没有判断有效无效,决定下一个位置一上来判断...// 接下来过程,窗口右进一个,左吐一个 for ; R < len(s1); R++ { if all == 0 { // R-1 return...else { count[s1[R]]-- } if count[s1[R-M]] >= 0 { count[s1[R-M

81530

2022-08-26:用一个大小 m x n 二维网格 grid 表示一个箱子你有 n 颗球。箱子顶部和底部都是开着。箱

2022-08-26:用一个大小 m x n 二维网格 grid 表示一个箱子 你有 n 颗球。箱子顶部和底部都是开着。...箱子每个单元格都有一个对角线挡板,跨过单元格角, 可以将球导向左侧或者右侧。 将球导向右侧挡板跨过左上角和右下角,在网格中用 1 表示。...将球导向左侧挡板跨过右上角和左下角,在网格中用 -1 表示。 箱子每一列顶端各放一颗球。每颗球都可能卡在箱子里或从底部掉出来。...返回一个大小 n 数组 answer , 其中 answer[i] 是球放在顶部第 i 列后从底部掉出来那一列对应下标, 如果球卡在盒子里,则返回 -1。...) let mut i = 0; let mut j = col; while i < n { // (i,j) 左上 -> 右下格子

34230

2022-04-22:给你一个大小 m x n 矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 ‘X‘ 或者是一个空位 ‘.‘ ,返回甲板 b

2022-04-22:给你一个大小 m x n 矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 'X' 或者是一个空位 '.' ,返回甲板 board 上放置 战舰 数量。...战舰 只能水平或者垂直放置 board 上。换句话说,战舰只能按 1 x k(1 行,k 列)或 k x 1(k 行,1 列)形状建造,其中 k 可以是任意大小。...两艘战舰之间至少有一个水平或垂直空位分隔 (即没有相邻战舰)。 输入:board = ["X",".",".","X",".",".",".","X",".",".",".","X"]。...甲板上战舰。 来自米哈游。 答案2022-04-22: 并查集或者岛问题都行,但这不是最优解。 数战舰左上角,统计左上角个数就行。 时间复杂度:O(N**2)。 代码用rust编写。...for i in 0..m.len() { for j in 0..m[0].len() { if m[i][j] == 'X' && (i == 0 || m[

32310

2022-04-22:给你一个大小 m x n 矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 X 或者是一

2022-04-22:给你一个大小 m x n 矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 'X' 或者是一个空位 '.' ,返回甲板 board 上放置 战舰 数量。...战舰 只能水平或者垂直放置 board 上。换句话说,战舰只能按 1 x k(1 行,k 列)或 k x 1(k 行,1 列)形状建造,其中 k 可以是任意大小。...两艘战舰之间至少有一个水平或垂直空位分隔 (即没有相邻战舰)。 输入:board = [["X",".",".","X"],[".",".",".","X"],[".",".","."...甲板上战舰。 来自米哈游。 答案2022-04-22: 并查集或者岛问题都行,但这不是最优解。 数战舰左上角,统计左上角个数就行。 时间复杂度:O(N**2)。 代码用rust编写。...for i in 0..m.len() { for j in 0..m[0].len() { if m[i][j] == 'X' && (i == 0 || m[

36130

2022-08-26:用一个大小 m x n 二维网格 grid 表示一个箱子 你有 n 颗球。箱子顶部和底部都是开着。 箱子每个单元格都有一个对角

2022-08-26:用一个大小 m x n 二维网格 grid 表示一个箱子你有 n 颗球。箱子顶部和底部都是开着。...箱子每个单元格都有一个对角线挡板,跨过单元格角,可以将球导向左侧或者右侧。将球导向右侧挡板跨过左上角和右下角,在网格中用 1 表示。...将球导向左侧挡板跨过右上角和左下角,在网格中用 -1 表示。箱子每一列顶端各放一颗球。每颗球都可能卡在箱子里或从底部掉出来。...返回一个大小 n 数组 answer ,其中 answeri 是球放在顶部第 i 列后从底部掉出来那一列对应下标,如果球卡在盒子里,则返回 -1。..., ans);}fn find_ball(grid: &mut Vec>) -> Vec { let n = grid.len() as i32; let m =

42610

2022-06-11:注意本文件,graph不是邻接矩阵含义,而是一个二部图。 长度N邻接矩阵matrix,所有的点有N,matrix

2022-06-11:注意本文件,graph不是邻接矩阵含义,而是一个二部图。...长度N邻接矩阵matrix,所有的点有N,matrixi表示点i到点j距离或者权重,而在二部图graph,所有的点有2*N,行所对应点有N,列所对应点有N。...而且认为,行所对应点之间是没有路径,列所对应点之间也是没有路径!答案2022-06-11:km算法。代码用rust编写。...[]; // dfs过程,碰过点! let mut x: Vec = vec![]; let mut y: Vec = vec!...[]; // 降低预期! // 公主上,打一个,降低预期值,只维持最小! let mut slack: Vec = vec!

68610

,MN分别为图像宽和高,像素单位。 a - b色度平面上,等效圆中心坐标 ( da , db ) ,半径 M 。等效

如上图所示,第一个美女图明显就偏色,其[a,b]直方图明显有只有一个波峰,而第二美女图则很协调,[a,b]直方图也分布很均匀。...因此引入等效圆概念 ,采用图像平均色度 D和色度中心距 M比值 ,即偏色因子 K来衡量图像偏色程度。其计算方法如下式 ? ?      式 ,MN分别为图像宽和高,像素单位。... a - b色度平面上,等效圆中心坐标 ( da , db ) ,半径 M 。等效圆中心到 a - b色度平面中性轴原点 ( a = 0, b = 0)距离 D 。...cast=1.699       我们测试一些明显偏色图像。...,这两是完全不同行业。

2.9K80

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

2023-05-11:给你一个 m x n 二进制矩阵 grid,每个格子要么 0 (空)要么 1 (被占据),给你邮票尺寸 stampHeight x stampWidth。...答案2023-05-11:大体过程如下:1.首先对矩阵 grid 进行二维前缀和计算,得到一个矩阵 sum。该矩阵每个位置表示从左上角出发,到该位置形成矩阵中所有元素和。...2.对 grid 每个 0 位置 (i, j),检查该位置左上角矩阵是否能够被指定印章完全覆盖。...同时,如果某个位置 (i, j) 0 且它所在列没有其他 0,则返回 false;否则返回 true。时间复杂度 O(mn),其中 mn 分别表示矩阵 grid 行数和列数。...空间复杂度 O(mn),因为函数创建了两 m+1 行 n+1 列二维数组 sum 和 diff,以及一个长度 n+1 一维数组 cnt 和 pre。

41820

2022-12-12:有n城市,城市从0到n-1进行编号。小美最初住在k号城市接下来m天里,小美每天会收到一个任务她可以

小美最初住在k号城市 接下来m天里,小美每天会收到一个任务 她可以选择完成当天任务或者放弃该任务 第i天任务需要在ci号城市完成,如果她选择完成这个任务 若任务开始前她恰好在ci号城市,则会获得...ai收益 若她不在ci号城市,她会前往ci号城市,获得bi收益 当天任务她都会当天完成 任务完成后,她会留在该任务所在ci号城市直到接受下一个任务 如果她选择放弃任务,她会停留原地,且不会获得收益...小美想知道,如果她合理地完成任务,最大能获得多少收益 输入描述: 第一行三正整数n, m和k,表示城市数量,总天数,初始所在城市 第二行m整数c1, c2,...... cm,其中ci表示第i天任务所在地点...ci 第三行m整数a1, a2,...... am,其中ai表示完成第i天任务且地点不变收益 第四行m整数b1, b2,...... bm,其中bi表示完成第i天任务且地点改变收益 0 <...= k, ci <= n <= 30000 1 <= m <= 30000 0 <= ai, bi <= 10^9 输出描述 输出一个整数,表示小美合理完成任务能得到最大收益。

41220

2022-03-24:你被请来给一个要举办高尔夫比赛树林砍树,树林由一个 m x n 矩阵表示, 在这个矩阵: 0 表示障碍,无法触碰 1 表示地面,可以行走

2022-03-24:你被请来给一个要举办高尔夫比赛树林砍树,树林由一个 m x n 矩阵表示, 在这个矩阵: 0 表示障碍,无法触碰 1 表示地面,可以行走 比 1 大数 表示有树单元格,可以行走...,数值表示树高度 每一步,你都可以向上、下、左、右四方向之一移动一个单位, 如果你站地方有一棵树,那么你可以决定是否要砍倒它。...:= len(forest) m := len(forest[0]) // [ [3,5,2], [1,9,4] , [2,6,10] ] // 低 高 cells := make([][]...:= len(forest) m := len(forest[0]) seen := make([][]bool, n) for i := 0; i < n; i++ { seen[i] =...nr := r + next[i-1] nc := c + next[i] if nr >= 0 && nr = 0 && nc < m && !

23010

2022-06-11:注意本文件,graph不是邻接矩阵含义,而是一个二部图。长度N邻接矩阵matrix,所有的点有

2022-06-11:注意本文件,graph不是邻接矩阵含义,而是一个二部图。...长度N邻接矩阵matrix,所有的点有N,matrix[i][j]表示点i到点j距离或者权重, 而在二部图graph,所有的点有2*N,行所对应点有N,列所对应点有N。...而且认为,行所对应点之间是没有路径,列所对应点之间也是没有路径! 答案2022-06-11: km算法。 代码用rust编写。...[]; // dfs过程,碰过点! let mut x: Vec = vec![]; let mut y: Vec = vec!...[]; // 降低预期! // 公主上,打一个,降低预期值,只维持最小! let mut slack: Vec = vec!

21440

2022-12-12:有n城市,城市从0到n-1进行编号。小美最初住在k号城市 接下来m天里,小美每天会收到一个任务 她可以选择完成当天任务或者放弃该

小美最初住在k号城市 接下来m天里,小美每天会收到一个任务 她可以选择完成当天任务或者放弃该任务 第i天任务需要在ci号城市完成,如果她选择完成这个任务 若任务开始前她恰好在ci号城市,则会获得...ai收益 若她不在ci号城市,她会前往ci号城市,获得bi收益 当天任务她都会当天完成 任务完成后,她会留在该任务所在ci号城市直到接受下一个任务 如果她选择放弃任务,她会停留原地,且不会获得收益...小美想知道,如果她合理地完成任务,最大能获得多少收益 输入描述: 第一行三正整数n, m和k,表示城市数量,总天数,初始所在城市 第二行m整数c1, c2,...... cm,其中ci表示第i天任务所在地点...ci 第三行m整数a1, a2,...... am,其中ai表示完成第i天任务且地点不变收益 第四行m整数b1, b2,...... bm,其中bi表示完成第i天任务且地点改变收益 0 <...= k, ci <= n <= 30000 1 <= m <= 30000 0 <= ai, bi <= 10^9 输出描述 输出一个整数,表示小美合理完成任务能得到最大收益。

47910

python第二周 数字类型

xy次方对z取余 abs(n) 求n绝对值 round(x,y)    返回浮点数x四舍五入值,y精度 >>> round(3.1415926,2) 3.14 int() 将一个浮点数转变为整数...)和sqrt()、trunc() 函数 random模块用来产生随机数,常见用法如下: random.random() random.randint(n,m)  #产生一个n-m之间随机数 random.choice...(list)  #从列表随机选择一个列表元素 fractions模块用来处理分数 from  fractions import Fraction x = Fraction(1,3) #创建一个分数对象...操作符 / 号python2和python3有不同含义,python2,/ 号含义是整除,没有余数,python3,会有余数。...混合操作支持操作符优先级 一般要使用括号将表达式分开,清楚地表示运算地顺序。混合类型进行数学操作时会出现两种情况: 第一种是整数和浮点数运算,整数会被转换成浮点数,最后计算结果也是浮点数。

75010

Numpy矩阵运算

这是 numpy官方文档,英文不太熟悉,还有 numpy中文文档 numpy 同时支持 python3 和 python2, python3 下直接pip install安装即可,python2 的话建议用...[[1,2,3],[4,5,6]]) # 定义一个两行三列矩阵 np.mat(list) # 列表或者数组转 matrix(矩阵) np.tolist(matrix) # 与上面相反 np.shape(...array) # 求矩阵或者数组array维度 array.reshape(m,n) # 数组或矩阵重塑mn列 np.eye(m,n) # 创建mn列单位矩阵 np.zeros([m,n],dtype...) # 创建初始化为0矩阵 # .transpose()转置矩阵 .inv()逆矩阵 # .T转置矩阵,.I逆矩阵 举个栗子 # python3 import numpy as np # 先创建一个长度...12列表,,再重塑4行3列矩阵 list1 = [0,1,2,3,4,5,6,7,8,9,0,1] list1_to_mat = np.mat(list1) # 列表先转成矩阵 mat1 = list1

1.5K10

Python语言笔记

标识符 第一个字符必须是字母表字母或下划线'_'。 标识符其他部分有字母、数字和下划线组成。 标识符对大小写敏感。 注释 Python单行注释 # 开头,实例如下: #!...使用三引号('''或""")可以指定一个多行字符串。 转义符 '\' 自然字符串, 通过字符串前加r或R。 如 r"this is a line with \n" 则\n会显示,并不是换行。...每个变量使用前都必须赋值,变量赋值以后该变量才会被创建 Python ,变量就是变量,它没有类型,我们所说"类型"是变量所指内存对象类型。...等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储变量值。例如: 实例(Python 3.0+) #!...例如: a = b = c = 1 以上实例,创建一个整型对象,值1,三变量被分配到相同内存空间上。 您也可以为多个对象指定多个变量。

1.2K20

替代Transformer!斯坦福提出新架构:Monarch Mixer,无需Attention,性能更强~

MLP,代之以富有表现力 Monarch 矩阵,使之在语言和图像实验更低成本取得了更优表现。...它们计算是扩展:如果将因子数量设为 p,则当输入长度 N 时,计算复杂度 ,从而让计算复杂度可以位于 p = log N O (N log N) 与 p = 2 时 之间。... RTX 4090 等更新架构上,对于同样大小输入,一个简单 CUDA 实现就能实现 41.4% FLOP 利用率。...维度混合,MLP 密集矩阵被替换成了学习得到分块对角矩阵(1 阶 Monarch 矩阵,b = 4)。...因果语言建模 GPT 风格因果语言建模是 Transformer 一大关键应用。该团队因果语言建模构建了一个基于 M2 架构:M2-GPT。

83020
领券