AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / coding / 问题

全部问题(coding)

Martin Hope
Daniel Lobo
Asked: 2025-04-29 16:03:05 +0800 CST

将一个 ggplot 叠加到另一个 ggplot 上

  • 8

我有ggplot如下两个对象。

library(ggplot2)

set.seed(1)
dat1 = data.frame(x = rnorm(1000), y = rnorm(1000))
dat2 = data.frame(x = rt(5000, 2))

Plot1 = ggplot(data = dat1, aes(x = x, y = y)) + geom_point()
Plot2 = ggplot(dat2) + geom_histogram(aes(x = x))

现在我想在 的左中部分Plot2叠加。所需的输出Plot1Plot1

在此处输入图片描述

为了获得更好的可见性,我还希望具有一定的透明度,Plot2以便Plot1在重叠区域不会完全被掩盖。

有什么方法可以实现吗?我在网上搜索了相关信息,但似乎都提到了添加图层。我的最终绘图结果与单纯添加图层的结果不同。

  • 2 个回答
  • 91 Views
Martin Hope
Dorkhan C.
Asked: 2025-04-29 08:15:33 +0800 CST

如何计算至少有一个单元格的数字大于 0 的列数?

  • 8
年 一个 b c
2017 0 1 3
2018 0 3 0
2019 0 0 0

鉴于上面的表格,有什么 Excel 公式可以帮助我计算出有多少列至少有一个单元格大于 1?我希望有一个公式,即使有 1000 列也能用。

在这种情况下,答案应该是 2(b 列和 c 列)。

我尝试使用 COUNTIFS 和 SUM 的不同组合,但尚未找到正确的组合。到目前为止,我已经尝试过

=SUM(--(MAX(B2:B4)>1), --(MAX(C2:C4)>1), --(MAX(D2:D4)>1))

这是可行的,但是对于 1000 列来说就不可行了。

excel
  • 3 个回答
  • 97 Views
Martin Hope
tassones
Asked: 2025-04-29 01:34:56 +0800 CST

如何格式化 facet_wrap 图的标题以匹配面条样式?

  • 8

我正在尝试将绘图标题的格式设置facet_wrap为与构面条带的样式一致。在下面的绘图中,我添加了标题“len”,但它的格式看起来与右侧构面条带(例如 0.5、1、2)的格式不同。如何使标题看起来像构面条带(例如,灰色矩形框、黑色轮廓、文本沿绘图宽度居中等)?

library(tidyverse)

ToothGrowth |> 
  ggplot(aes(x = dose, y = len)) + 
  geom_boxplot(aes(fill = supp)) +
  labs(title = 'len',
       y = NULL) +
  theme_bw() +
  facet_wrap(~dose, ncol = 1, strip.position = "right")

创建于 2025-04-28,使用reprex v2.1.1

  • 2 个回答
  • 36 Views
Martin Hope
CodeCrusader
Asked: 2025-04-29 00:52:43 +0800 CST

找到相邻 diff 小于 2 的子序列的最大长度

  • 8

问题陈述:

给定一个大小为 n 的整数数组 arr。

选择一个整数子序列并重新排列它们以形成一个循环序列,使得任意两个相邻整数(包括最后一个和第一个)之间的绝对差最多为 1。

找出可以选择的最大整数数。

笔记:

子序列是通过删除零个或多个元素而不改变剩余元素的顺序而形成的。

选定的整数可以按任意顺序重新排列。

该序列是循环的——最后一个整数和第一个整数被视为相邻的。

限制:

1 <= n <= 2 × 10^5

0 <= arr[i] <= 10^9

例子:

Input: arr = [4, 3, 5, 1, 2, 2, 1]
Output: 5
Explanation: maximum length subsequence is : [3, 1, 2, 2, 1], it can be rearranged to seq : [2, 1, 1, 2, 3] of length 5, note that the condition must be satisfied in circular also, means abs(seq[0] - seq[seq.length-1]) means abs(2-3) <= 0 

Input: arr = [3, 7, 5, 1, 5]
Output: 2
Explanation: maximum length subsequence is : [5,5] of length 2

Input: arr = [2, 2, 3, 2, 1, 2, 2]
Output: 7
Explanation: maximum length subsequence is : [2,2,3,2,1,2,2] of length 7

Input: arr = [1,2,3,4,5]
Output = 2
Explanation: maximum length subsequence is : [1,2] or [2,3] or [3,4] or [4,5], so length is 2. 

请注意,子序列也应该满足循环条件这是我的代码:

import java.util.*;

class Main {
    public static int solve(int[] arr) {
        Map<Integer, Integer> freq = new HashMap<>();
        for (int num : arr) {
            freq.put(num, freq.getOrDefault(num, 0) + 1);
        }

        int max = 0;
        for (int num : freq.keySet()) {
            int count = freq.get(num);
            int countWithNext = freq.getOrDefault(num + 1, 0);
            int countWithPrev = freq.getOrDefault(num - 1, 0);
            max = Math.max(max, countWithPrev + count + countWithNext);
        }

        return max;
    }

    public static void main(String[] args) {
        System.out.println(solve(new int[]{4,3,5,1,2,2,1})); // Expected: 5
        System.out.println(solve(new int[]{3,7,5,1,5})); // Expected: 2
        System.out.println(solve(new int[]{2,2,3,2,1,2,2})); // Expected: 7
        System.out.println(solve(new int[]{1,2,3,4,5})); // Expected: 2
    }
}

我能够找到最大长度子序列,但无法找到如何满足循环条件,因此对于测试用例 [1,2,3,4,5],我的代码返回 5 而不是 2。

此外,正如 John Bollinger 所评论的,该方法本身对于输入 [1,2,3,4,3,2] 失败

用较少的时间复杂度来解决这个问题的正确方法是什么?

java
  • 2 个回答
  • 109 Views
Martin Hope
Shog
Asked: 2025-04-28 23:48:04 +0800 CST

有没有办法知道你触摸的是墙的哪一侧?

  • 8

我正在制作一款跑酷游戏,遇到了一个问题。游戏中有一个墙跑机制,如果你在墙上跑,你的玩家旋转方向会被锁定在墙的平面上。只要你撞到墙的左侧(西侧),这个机制就能完美运行。但如果撞到墙的右侧(东侧),玩家就会被翻转到错误的方向。

private void WallStick()
{
    if (leftWall) wallNormal = leftWallHit.normal.y;
    else if (rightWall) wallNormal = rightWallHit.normal.y;

    if (leftWall) playerMovement.rotationScript.yRotation = wallNormal + 90f;
    else if (rightWall) playerMovement.rotationScript.yRotation = wallNormal - 90f;
}

leftWall 和 rightWall 是布尔值,用于指示玩家朝向墙壁的方向。命中是射线投射。其他所有内容似乎都一目了然,如有疑问,请提出。这段代码完美地运行,但前提是玩家在墙的西侧奔跑。

我可以将每面墙分成两块,并分配一个 layerMask 来区分光线投射击中哪一侧,但这看起来非常笨重,而且会让我重新设计整个世界。

有什么想法吗?

c#
  • 2 个回答
  • 93 Views
Martin Hope
user29295031
Asked: 2025-04-28 22:00:43 +0800 CST

将月份缩写转换为全名

  • 8

我有这个函数可以将英语月份转换为法语月份:

def changeMonth(month):
    global CurrentMonth
    match month:
        case "Jan":
            return "Janvier"
        case "Feb":
            return "Février"
        case "Mar":
            return "Mars"
        case "Apr":
            return "Avril"
        case "May":
            return "Mai"
        case "Jun":
            return "Juin"
        case "Jul":
            return "Juillet"
        case "Aug":
            return "Août"
        case "Sep":
            return "Septembre"
        case "Oct":
            return "Octobre"
        case "Nov":
            return "Novembre"
        case "Dec":
            return "Décembre"

        # If an exact match is not confirmed, this last case will be used if provided
        case _:
            return ""

我有一只熊猫df["month"]= df['ic_graph']['month'].tolist():

在此处输入图片描述

现在我要找的是通过 changeMonth 函数传递 df["month"] col 来显示法国月份的 df["month"]

顺便说一句,我不想​​使用

>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'fr_FR')
python
  • 3 个回答
  • 90 Views
Martin Hope
IMP9024
Asked: 2025-04-28 20:34:23 +0800 CST

JavaFX 无法解析样式表符号

  • 8

这是我的 JavaFX 代码片段:

  <stylesheet value="colours.css" />

它位于 GridPane 对象内部,紧接着带有 GridPane 标签的行之后。

IntelliJ 说它无法编译符号“样式表”并且不允许使用值属性,当我尝试运行它时,我也收到一个很长的错误。

我尝试浏览 SO 并在线搜索(我不太擅长使用 javaFX),并将“样式表值”更改为其他内容几次(我不记得具体是什么),但实际上没有任何效果。

java
  • 1 个回答
  • 45 Views
Martin Hope
Omar AlSuwaidi
Asked: 2025-04-28 01:21:44 +0800 CST

如何正确提取 Polars DataFrame 中所有符合条件的重复行?

  • 8

给定一个极点数据框,我想提取所有重复的行,同时应用额外的过滤条件,例如:

import polars as pl

df = pl.DataFrame({
    "name": ["Alice", "Bob", "Alice", "David", "Eve", "Bob", "Frank"],
    "city": ["NY", "LA", "NY", "SF", "LA", "LA", "NY"],
    "age": [25, 30, 25, 35, 28, 30, 40]
})

# Trying this:
df.filter((df.is_duplicated()) & (pl.col("city") == "NY"))  # error

然而,这会导致错误:

SchemaError:无法将一系列类型解包object为bool

这暗示着df.is_duplicated()返回一系列类型object,但实际上,它是一个Boolean系列。

令人惊讶的是,通过将表达式放在第一位来重新排序谓词可以使其起作用(但为什么呢?):
df.filter((pl.col("city") == "NY") & (df.is_duplicated())) # works!正确输出:

shape: (2, 3)
┌───────┬──────┬─────┐
│ name  ┆ city ┆ age │
│ ---   ┆ ---  ┆ --- │
│ str   ┆ str  ┆ i64 │
╞═══════╪══════╪═════╡
│ Alice ┆ NY   ┆ 25  │
│ Alice ┆ NY   ┆ 25  │
└───────┴──────┴─────┘

我理解,根据列的子集过滤重复项时的最佳方法是使用pl.struct,例如:
df.filter((pl.struct(df.columns).is_duplicated()) & (pl.col("city") == "NY")) # works
它可以与附加过滤条件配合使用。

但是,我故意不使用pl.struct,因为我的实际数据框有 40 列,并且我想根据除三列之外的所有列检查重复的行,因此我执行了以下操作:
df.filter(df.drop("col1", "col2", "col3").is_duplicated()) 这可以正常工作,并且比将所有 37 列都写入 方便得多pl.struct。但是,在右侧添加额外的过滤条件时,这种情况会中断,但在左侧不会中断:

df.filter(
    (df.drop("col1", "col2", "col3").is_duplicated()) & (pl.col("col5") == "something")
    )  # breaks!

df.filter(
    (pl.col("col5") == "something") & (df.drop("col1", "col2", "col3").is_duplicated())
    )  # works!

在这种情况下,为什么谓词的顺序(序列与表达式 vs. 表达式与序列)很重要.filter()?这是 Polars 的预期行为,还是一个 bug?

python
  • 1 个回答
  • 38 Views
Martin Hope
Marat Tim
Asked: 2025-04-27 03:50:32 +0800 CST

ArrayList 与 LinkedList 在缓存局部性方面

  • 8

与 Java 中的 LinkedList 相比,缓存局部性如何影响 ArrayList 的性能?

我经常听说 ArrayList 在缓存局部性方面有优势,但我不太明白为什么。既然 Java 将对象作为引用存储在内存中,那么访问这两个列表中的元素是否都需要跳转到内存中的随机位置?

java
  • 3 个回答
  • 121 Views
Martin Hope
bricks96
Asked: 2025-04-26 17:01:35 +0800 CST

异常:由于访问负行导致访问电子表格时服务电子表格失败

  • 8

我最近看到了一篇关于这个错误的帖子,因为无法重现该错误,所以帖子被关闭了。我昨晚也遇到了同样的错误,而且很容易重现。我不确定这两者之间有什么联系,但以下是我遇到的情况。

我试图确定可到达的最远行。例如,即使你的工作表只有默认的 1000 行,你也可以写入=ROW(OFFSET(A1,9999,))reach A10000。它会返回 10000。经过反复试验,我发现可以使用嵌套的 来获取最远行OFFSET。

=row(offset(offset(offset($A$1,B1,),C1,),D1,))

最后可到达的行是第 行2,147,483,647。如果我尝试转到2,147,483,649或更远,就会出现OFFSET 计算结果为超出范围的错误。但就在那之前,我发现了一个虫洞。没错,我尝试2,147,483,648使用到达第 行=row(offset(offset(offset($A$1,700000000,),700000000,),747483647,)),结果返回的是-2,147,483,648。您可以在下面看到结果(E 列包含用于启用或禁用公式的复选框)。

B 碳 D 埃 F 格
7亿 7亿 747483646 真的 2147483647 =if(E1,行(偏移量(偏移量(偏移量($A$1,B1,),C1,),D1,)),)
7亿 7亿 747483647 真的 -2147483648 =if(E2,行(偏移量(偏移量(偏移量($A$1,B2,),C2,),D2,)),)
7亿 7亿 747483648 真的 #参考! =if(E3,行(偏移量(偏移量(偏移量($A$1,B3,),C3,),D3,)),)

它就像虫洞一样,通向纸张宇宙的另一边。我可以在那一行左右移动,甚至可以回到这一边,但我无法在那一边上下移动任何行。确实很奇怪,但没什么危害,我打算报告。

然而,后来当我尝试打开我的个人插件时,出现了以下运行时错误。异常:访问 ID 为 #### 的文档时,服务电子表格失败。[行:77,函数:myGlobalConfig,文件:core/lib/Config。

在费尽心思寻找问题根源之后,我突然冒出个念头,想看看虫洞是不是问题根源。结果也确实如此。我激活那个特定公式时收到了错误提示。禁用那个公式后,问题就消失了。

我甚至在绑定脚本中创建了一个基本函数,用于检索工作表的名称并使用 Toast 显示它。当激活中间那个公式时,出现了相同的错误,得出了负行的值。关闭后,错误就消失了。

这与之前提到的另一篇文章有​​联系吗?有人知道为什么这一行是负数吗?

google-sheets
  • 2 个回答
  • 62 Views
上一页
下一页

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    重新格式化数字,在固定位置插入分隔符

    • 6 个回答
  • Marko Smith

    为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会?

    • 2 个回答
  • Marko Smith

    VScode 自动卸载扩展的问题(Material 主题)

    • 2 个回答
  • Marko Smith

    Vue 3:创建时出错“预期标识符但发现‘导入’”[重复]

    • 1 个回答
  • Marko Smith

    具有指定基础类型但没有枚举器的“枚举类”的用途是什么?

    • 1 个回答
  • Marko Smith

    如何修复未手动导入的模块的 MODULE_NOT_FOUND 错误?

    • 6 个回答
  • Marko Smith

    `(表达式,左值) = 右值` 在 C 或 C++ 中是有效的赋值吗?为什么有些编译器会接受/拒绝它?

    • 3 个回答
  • Marko Smith

    在 C++ 中,一个不执行任何操作的空程序需要 204KB 的堆,但在 C 中则不需要

    • 1 个回答
  • Marko Smith

    PowerBI 目前与 BigQuery 不兼容:Simba 驱动程序与 Windows 更新有关

    • 2 个回答
  • Marko Smith

    AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String”

    • 1 个回答
  • Martin Hope
    Fantastic Mr Fox msvc std::vector 实现中仅不接受可复制类型 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant 使用 chrono 查找下一个工作日 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor 构造函数的成员初始化程序可以包含另一个成员的初始化吗? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský 为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul C++20 是否进行了更改,允许从已知绑定数组“type(&)[N]”转换为未知绑定数组“type(&)[]”? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann 为什么 {2,3,10} 和 {x,3,10} (x=2) 的顺序不同? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller 在 5.2 版中,bash 条件语句中的 [[ .. ]] 中的分号现在是可选的吗? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench 为什么双破折号 (--) 会导致此 MariaDB 子句评估为 true? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng 为什么 `dict(id=1, **{'id': 2})` 有时会引发 `KeyError: 'id'` 而不是 TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String” 2024-03-20 03:12:31 +0800 CST

热门标签

python javascript c++ c# java typescript sql reactjs html

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve