问题列表 - 第318044页

使用条件格式 R 替换字符串中的字符

我有一个单词列表如下wordlist:

 wordlist <- data.frame(words = c("anywhere", "youll", "feel", "comfortable", "please", "dont"))
Run Code Online (Sandbox Code Playgroud)

我有另一个包含辅音列表的数据框:

 consonants <- data.frame(consonants = c("b", "c", "d", "f", "g", "h"))
Run Code Online (Sandbox Code Playgroud)

我想在wordlistcalled中创建一个新变量word_structure,其中所有辅音都替换为"C",所有元音替换为"V":

 wordlist$word_structure <- c("VCCCCVCV", "CVVCC", "CVVC", "CVCCVCCVCCV", "CCVVCV", "CVCC")
Run Code Online (Sandbox Code Playgroud)

我不知道如何结合条件格式来gsub获得我需要的东西。

r

6
推荐指数
2
解决办法
124
查看次数

从点列表中查找可能的矩形最大面积(不一定与轴平行)的函数

输入:二维点数组 ((x, y), (x2, y2), ...)
输出:最大可能矩形的区域,其 4 个角为给定点中的 4 个点。

注意:矩形不必平行于任何轴,至少可以用一组点制作一个矩形


示例 1:
输入:[[1,2], [2,1], [1,0], [0,1]]
输出:2
解释:
矩形在 2d 平面上如下所示:

2   x
1 x   x
0   x
  0 1 2
Run Code Online (Sandbox Code Playgroud)

每条边长均为 sqrt(2),因此面积为 2。

示例 2:
输入:[[0,1], [2,1], [1,1], [1,0], [2,0]]
输出:1

说明:
飞机:

2
1 x x x
0   x x
  0 1 2
Run Code Online (Sandbox Code Playgroud)

唯一可能的矩形是边长为 1 的正方形,因此面积为 1。


我将不胜感激任何解决这个问题的帮助,老实说我不知道​​如何提高效率。有可能吗?

我尝试了暴力破解,即检查 4 个点的所有可能组合,看看它们是否形成一个矩形,然后比较它们的面积,但对于大输入来说太慢了......

algorithm dynamic-programming time-complexity

1
推荐指数
1
解决办法
113
查看次数

您可以修改 VS Code for C++ 中的“创建定义”模板以使用命名空间块而不是顶级的完全限定定义吗?

假设我写了一个新课程。我从标题开始MyClass.hpp:

#pragma once

namespace MyProjectNamespace {
class MyClass {
public:
    foo(int i);
};
}
Run Code Online (Sandbox Code Playgroud)

目前还没有相应的 .cpp 文件,但 C++ 扩展有一个很好的快速修复来解决它 - 我可以Ctrl+.并选择“在 MyClass.cpp 中创建 'foo' 的定义”。这将创建一个MyClass.cpp如下文件:

#include "MyClass.hpp"

MyProjectNamespace::MyClass::foo(int i)
{
}
Run Code Online (Sandbox Code Playgroud)

但是,正如您所看到的,这在定义中使用(几乎)完全限定名称,而不是像在标头中那样打开名称空间。我可以自己修复它,任何进一步的“创建定义”操作都会将其正确放置在命名空间内,但对于新文件来说仍然有点烦人。

是否可以通过设置更改此操作的行为或以某种方式修改扩展使用的模板以始终在新定义上打开命名空间(如果不存在)?

c++ visual-studio-code

5
推荐指数
1
解决办法
58
查看次数

何时使用 JsonSerializer 的异步版本(SerializeAsync/DeserializeAsync)?

序列化器JsonSerializer有异步版本的方法。

我想澄清一下在什么情况下使用它们?

我通常默认使用简单版本的序列化/反序列化,从不关心异步版本。但在某些情况下可能最好使用异步版本。

.net c# serialization asynchronous json.net

2
推荐指数
1
解决办法
101
查看次数

在 haskell 中定义类型

我今天参加考试时遇到了这个问题:在 Haskell 中查找具有此特定类型的表达式或函数定义:: (Num a, Enum a) => [a]

我该怎么做?

或者在没有参数作为函数输入的情况下这是否可能?

haskell functional-programming

2
推荐指数
1
解决办法
101
查看次数

如何使用c#从字符串中获取倒数第二个字符

我想解析一个字符串以从字符串中获取倒数第二个字符。这是我想要解析的内容

[XX] G_RIMN_4000+_OLEPHI_700+ [InstalmentScheme 1]
Run Code Online (Sandbox Code Playgroud)

从上面的字符串我想得到倒数第二个字符,无论它是个位数还是两位数,所以例如1]我想要1或26]我想要26

我尝试了以下方法

string input = "[XR] Z_Prem_4000+_Delphi_700+ [InstalmentScheme 1]";

var words = input.Split(' ');
var reqWord = "";
if(words.Length > 1)
   reqWord = words[words.Length-1];
        Console.WriteLine (reqWord);
Run Code Online (Sandbox Code Playgroud)

我得到1] 结果,但我想要字符串中最后一个 ] 之前的任何数字

c# string

1
推荐指数
2
解决办法
181
查看次数

在 .NET 8 上的主构造函数 EF Core 中调用时,DbContext 为 Null

我正在使用 .NET 8,DbContext在主构造函数中调用时,我的值为 null,但在普通构造函数中调用时,我的值为 null。

这是我的DbContext:

public class DataContext(DbContextOptions<DataContext> options) : DbContext(options)
{
    public DbSet<Student> Students { get; set; }
    public DbSet<Subject> Subjects { get; set; }
    public DbSet<Teacher> Teachers { get; set; }
    public DbTSet<Lesson> Lessons { get; set; }
    public DbSet<Attendance> Attendances { get; set; }

    protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);

        builder.AddInboxStateEntity();
        builder.AddOutboxMessageEntity();
        builder.AddOutboxStateEntity();

        builder.Ignore<BaseEntity>();
    }

    public override Task<int> SaveChangesAsync(CancellationToken cancellationToken = new())
    {
        foreach (var entity in ChangeTracker
                     .Entries()
                     .Where(x => …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework masstransit asp.net-core .net-8.0

6
推荐指数
1
解决办法
256
查看次数

如何在 Cypress Desktop 上隐藏成功的断言日志,但显示失败的断言日志?

我一直想知道如何在 Cypress Desktop (npx cypress open) 上隐藏成功的断言日志,但显示失败的断言日志? 赛普拉斯用户界面

我一直在 stackoverflow (类似的问题)、文档中搜索,我发现的关闭文档只是CYPRESS_NO_COMMAND_LOG=1. 但是,这不是我所期待的结果。因为当我这样做时,它只是最小化运行程序,实际上并没有运行我的测试用例。因此,所有断言都没有结果。

logging cypress

3
推荐指数
1
解决办法
72
查看次数

简单的 c++20 协程的性能看起来很糟糕。这是不可避免的吗?这是“帧切换”的代价吗?

我正在使用 C++20 协程,特别是简单的生成器,但我观察到协程替换基于 boost::msm 的状态机的类似结果。

\n

实际上,我的目标是向我的团队提供有关从 c++17 升级到 C++20 后何时使用 c++20 协程的建议。因此,这些示例只是为了帮助提出此建议,它们并不是需要修复的真正代码。

\n

我的fast-bench.com表明,在简单生成器的情况下,此类协程的性能可能比基于迭代器的功能相同的代码差 4 倍(gcc13,-O3)或 3.5 倍(clang17,-O3)。

\n

完整代码可在此链接下找到;以下只是创建两个范围的笛卡尔积的示例代码:

\n
    \n
  • 参考代码

    \n
    void cartesian(auto const& xx, auto const& yy, auto body)\n{\n    for (auto x : xx) \n       for (auto y : yy)\n           body(std::make_pair(x, y));\n} \n// usage: cartesian(container1, container2, [&](auto const& x_y) { .... });\n
    Run Code Online (Sandbox Code Playgroud)\n
  • \n
  • 它的“协程”等价物

    \n
    template <typename T> struct generator { /*something similar to C++23 std::generator */ };\n\ntemplate <typename XX, …
    Run Code Online (Sandbox Code Playgroud)

c++ performance c++20 c++-coroutine

8
推荐指数
1
解决办法
308
查看次数

我们是否违反了严格别名规则?

这段代码中是否存在严格别名规则违规?我认为int->char和int->std::byte都可以,但是呢int8_t?

int main() {
    int arr[8] = {1, 1, 1, 1, 1, 1, 1, 1}; // Little endian: 10000000 | 10000000 ....
    int8_t *ptr = (int8_t*)arr; // Do we have a violation of the Strict Aliasing rule in this cast?
    ptr += 3; // 100[0]0000 ....

    cout << (int)*ptr << endl; // outputs 0
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

c++ strict-aliasing language-lawyer

4
推荐指数
1
解决办法
147
查看次数