小编Sau*_*ari的帖子

How to use a Trie data structure to find the sum of LCPs for all possible substrings?

Problem Description: 弦乐 References: Fun With Strings

Based on the problem description, a naive approach to find sum of length of LCP for all possible substrings (for a given string) is as follows :

#include <cstring>
#include <iostream>

using std::cout;
using std::cin;
using std::endl;
using std::string;

int lcp(string str1, string str2) 
{ 
    string result; 
    int n1 = str1.length(), n2 = str2.length(); 

    // Compare str1 and str2 
    for (int i=0, j=0; i<=n1-1 && j<=n2-1; i++,j++) 
    { 
        if (str1[i] != str2[j]) 
            break; 
        result.push_back(str1[i]); …
Run Code Online (Sandbox Code Playgroud)

c++ string algorithm suffix-tree longest-prefix

9
推荐指数
2
解决办法
375
查看次数

如何根据显示分辨率缩放pygame中的字体大小?

largeText = pygame.font.Font('digifaw.ttf',450)

字体大小为450,适合全屏显示文字的分辨率1366x768。如何更改字体大小以使其与其他显示分辨率兼容?我查找了 pydocs 中的字体,但找不到与自动缩放相关的任何内容。

更新:这是代码片段

def text_objects(text, font):
    textSurface = font.render(text, True, black)
    return textSurface, textSurface.get_rect()

def message_display(text):
    largeText = pygame.font.Font('digifaw.ttf',450)
    TextSurf, TextRect = text_objects(text, largeText)
    TextRect.center = ((display_width/2),(display_height/2))
    gameDisplay.blit(TextSurf, TextRect)

    pygame.display.update()

    time.sleep(1)

Run Code Online (Sandbox Code Playgroud)

python fonts pygame

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

无法推送到 GitHub 上的远程存储库

我正在使用 Git-LFS,消息是:

Uploading LFS objects:   0% (0/13), 0 B | 0 B/s, done
batch response: This repository is over its data quota. Account responsible for LFS bandwidth should purchase more data packs to restore access.
error: failed to push some refs to 'repoURL'
Run Code Online (Sandbox Code Playgroud)

我下个月可以推送本地提交吗?还是应该删除 git-lfs?

git github git-lfs

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

如何使用过滤器分支更改多个提交的提交作者?

我正在使用此链接中的此脚本来编辑所有提交中的作者信息。

#!/bin/sh

git filter-branch --env-filter '

OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.com"

if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误(警告?):

Cannot create a new backup.
A previous backup already exists in refs/original/
Force overwriting the backup with -f
Run Code Online (Sandbox Code Playgroud)

我也检查了日志。作者信息没有改变。我在这里做错了什么?

更新:正如@elpiekay所提到的,该-f标志使脚本工作。

但是谁能解释错误日志本身?为什么提到备份?我以前从未做过任何备份(不确定错误日志中引用了什么备份

git

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

这个函数调用“ delay +(1000)”在语法上是否正确?

我正在编写一个小代码,以在传感器读数超过特定阈值时启用蜂鸣器。要启用一秒钟蜂鸣器,我给了1000毫秒的延迟通过调用这个函数:delay(1000)。但是,我是随机输入的delay+(1000),并且编译良好。该函数调用在语法上正确吗?

我已经在Arduino IDE上尝试过此代码。它可以编译,但对于avr-gcc或avr-g ++或gcc / g ++来说并非如此。

我希望delay +(1000)无法编译,因为它似乎不是有效的c / c ++语法。

更新1:

使用Arduino IDE编译并上传以下代码片段至Arduino UNO:

void setup() 
{
    Serial.begin(9600);
}

void loop()
{
    int x = delay+(1000);
    Serial.println(x);
}
Run Code Online (Sandbox Code Playgroud)

它连续打印一个随机数1132,没有任何延迟。(因此1132 =>功能指针地址+ 100?)

我还观察到delay+(1000)delay-(1000)编译,但对于delay*(1000)和则并非如此delay/(1000)。编译器给出以下错误:

sketch_jun09a:8:错误:类型为“ void(long unsigned int)”和>“ int”类型的无效操作数为二进制“ operator *”

     delay*(1000);
               ^
Run Code Online (Sandbox Code Playgroud)

但是,int t = (int)delay*(1000);编译效果很好。

更新2:

根据以下答案,delay<operator>(x)仅执行函数指针算术(使用一元或二进制运算符),而不执行函数本身。

我使用了以下代码片段:

void setup()
{
    Serial.begin(9600);
}
int custom()
{
    Serial.println("hello");
    return 0;
}
void loop() …
Run Code Online (Sandbox Code Playgroud)

c c++ arduino-ide

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