204 次浏览
假设我们有一个数字 n,我们需要找到其二进制表示中1的最长连续序列的长度。因此,如果输入像 n = 312,则输出将为 3,因为 312 的二进制表示为 100111000,并且有 3 个连续的 1。为了解决这个问题,我们将遵循以下步骤:ret := 0,len := 0for initialize i := 0,当 i < 32,更新(i 增加 1),执行:if n/2 为奇数,则(len 增加 1)否则len := 0ret := ret 和 len 的最大值return ret让我们看下面的实现来更好地了解... 阅读更多
301 次浏览
我们可以使用 combinat 包中的 permn 函数来查找排列,但是如果向量中包含重复元素,则结果将没有唯一的排列,因此,我们需要将 unique 函数与 permn 函数一起使用。例如,如果我们有一个向量 1、2、1,则排列将是 (1 2 1)、(1 1 2)、(1 1 2)、(1 2 1)、(2 1 1)、(2 1 1),并且唯一的排列将是 (1 2 1)、(1 1 2)、(2 1 1)。示例 实时演示x1
145 次浏览
图例帮助我们区分数据集中的值类型或任何其他值的划分。这些图例可以通过多种方式表示,其中两种方式是直线和星形。为了在使用 plot 函数创建的带有彩色直线或星形的图中表示图例,我们需要更正 lty 和 pch 参数。示例考虑以下向量:set.seed(199) x
146 次浏览
假设我们有一个矩阵 M,其中 M[r][c] 表示该单元格的高度。如果我们当前位于左上角,并且想要到达右下角。我们只能移动到相邻单元格(上、下、左、右),前提是该相邻单元格的高度小于或等于当前单元格的高度。在移动之前,我们可以增加任意数量的单元格的高度,因此我们需要找到需要增加的最小总高度,以便我们可以到达右下角单元格。因此,如果输入... 阅读更多
2K+ 次浏览
频率多边形是值的图形,用于理解值的分布形状。它们有助于比较不同的数据集并可视化数据集的累积频率分布。在基础 R 中,我们可以使用 polygon 函数创建频率多边形,但首先我们应该为正在考虑的两个变量创建一个线形图。示例考虑以下向量 x 和 y:set.seed(999) x
6K+ 次浏览
通常,我们会发现表示因子水平的值被记录为数值,因此,我们需要将这些数值转换为因子。通过这种方式,我们可以在分析中正确使用因子列,否则 R 程序会将因子视为数值,并且分析输出将不正确。示例 实时演示data(mtcars) str(mtcars)输出'data.frame': 32 obs. of 11 variables: $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ... $ cyl : num 6 6 4 6 8 6 8 4 4 6 ... $ disp: num 160 160 108 258 360 ... $ hp : num 110 110 93 110 175 105 245 62 95 123 ... $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ... $ wt : num 2.62 2.88 2.32 3.21 3.44 ... $ qsec: num 16.5 17 18.6 19.4 17 ... $ vs : num 0 0 1 1 0 1 0 1 1 1 ... $ am : num 1 1 1 0 0 0 0 0 0 0 ... $ gear: num 4 4 4 3 3 3 3 4 4 4 ... $ carb: num 4 4 1 1 2 1 4 2 2 4 ... mtcars$cyl
将 for 循环应用于向量或列表没有什么不同,我们可以像往常一样简单地使用它。例如,如果我们有一个名为 List 的列表,并且我们想打印列表的所有元素,那么我们可以使用代码 for(i in List){print(i)},这里 i 指的是 List 中的向量。示例 实时演示List
1K+ 次浏览
默认情况下,使用 plot 函数创建的图中图例所覆盖的区域为全尺寸,即 1(区域大小范围为 0 到 1,其中 1 指的是全尺寸,0 指的是无)。为了减小尺寸,我们可以将 cex 参数与 legend 函数一起使用,如下例所示。示例考虑以下向量以及这两个向量之间创建的图:x
503 次浏览
假设我们有一棵二叉树;我们需要检查其高度是否平衡。我们知道,对于高度平衡树,对于树中的每个节点,其左子树的高度与其右子树的高度之间的绝对差为 0 或 1。因此,如果输入如下所示,则输出将为 True为了解决这个问题,我们将遵循以下步骤:定义一个函数 dfs(),它将接收节点,如果节点为空,则:返回 0l := 1 + dfs(节点的左子节点)r := 1 + dfs(节点的右子节点)if |l - r| > ... 阅读更多
597 次浏览
假设我们有一组点和一个数字 k。这些点采用 (x, y) 的形式,表示笛卡尔坐标。如果两个点 p1 和 p2 之间的欧几里得距离为