小编eth*_*jyx的帖子

C++和Java中的字符串连接复杂性

考虑一下这段代码:

public String joinWords(String[] words) {
    String sentence = "";
    for(String w : words) {
        sentence = sentence + w;
    }
    return sentence;
}
Run Code Online (Sandbox Code Playgroud)

在每个串联上创建一个新的字符串副本,以便整体复杂化O(n^2).幸运的是,在Java中,我们可以使用a来解决这个问题,每个附加StringBuffer都有O(1)复杂性,然后整体复杂性就是这样O(n).

虽然在C++中,std::string::append()有复杂性O(n),而且我不清楚它的复杂性stringstream.

在C++中,是否存在StringBuffer具有相同复杂性的方法?

c++ java string time-complexity

21
推荐指数
2
解决办法
2万
查看次数

JSF通过commandButton重定向

如果代码是这样的话,我无法重定向到另一个页面:

<h:commandButton type="button" value="Enter" action="index?faces-redirect=true" >
Run Code Online (Sandbox Code Playgroud)

但是,如果代码是:

<h:commandButton type="button" value="Enter" action="index?faces-redirect=true" >
    <f:ajax />
</h:commandButton>
Run Code Online (Sandbox Code Playgroud)

有人能解释一下吗?谢谢!

- - - - - - - - - - - -编辑 - - - - - - - - - - - -

整个xhtml代码供您参考:

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui">
<h:head>

</h:head>

<h:body>
<h:form id="form">
    <h:commandButton id="enterModelButton" type="button" value="Enter" action="index?faces-redirect=true" >
        <f:ajax />
    </h:commandButton>
</h:form>
</h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

jsf

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

如何使用Python请求清除缓存?

requestsPython包是否默认缓存数据?

例如,

import requests
resp = requests.get('https://some website')
Run Code Online (Sandbox Code Playgroud)

响应是否会被缓存?如果是,我该如何清除它?

python python-requests

19
推荐指数
4
解决办法
2万
查看次数

在重新打开对话框时,在对话框中,如何擦除验证失败

我有一个必需的输入字段p:dialog.如果我首先没有为该字段提交任何内容,则会在该字段上发生验证错误.然后我关闭对话框并重新打开它,验证错误仍然存​​在.关闭对话框时,如何消除验证错误?

validation jsf dialog primefaces

10
推荐指数
2
解决办法
6964
查看次数

f:param不能与p:commandLink或h:commandLink一起使用查询字符串

f:param很好用h:link,但不用p:commandLinkh:commandLink.

例如,我有两页test_first.xhtmltest_second.xhtml,和背部的java bean TestBean.java.

我开始跑步了test_first.xhtml.

如果我单击link1,这是一个h:link,页面将重定向到test_second.xhtml.借助于f:param,浏览器的地址栏将显示.../test_second.xhtml?id=1.在该页面上,testBean.userId打印出来.

如果我单击link2link3,页面重定向到test_second.xhtml.但是,地址栏只显示.../test_second.xhtml,没有?id=#!并且testBean.userId不会在该页面上打印.

我怎样才能commandLink合作f:param?有时我希望链接不会重定向到另一个页面,而是根据数据调用bean的某些方法.

test_first.xhtml:

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui">
<h:head/>
<h:body>
<h:form>
    <h:link value="link1" outcome="test_second" >
        <f:param name="id" value="1"/>
    </h:link>
    <br/><br/>
    <h:commandLink value="link2" action="test_second?faces-redirect=true" >
        <f:param name="id" value="2" />
    </h:commandLink>
    <br/><br/>
    <p:commandLink value="link3" …
Run Code Online (Sandbox Code Playgroud)

jsf primefaces query-string

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

POSIX正则表达式交替不起作用

我正在使用|替代品,但它不起作用.难道我做错了什么?

谢谢!

以下代码始终返回No match:

#include <sys/types.h>
#include <regex.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>

int main(int argc, char *argv[]){
        regex_t regex;
        int reti;
        char msgbuf[100];

/* Compile regular expression */
        reti = regcomp(&regex, "ab(c|d)", 0);
        if( reti ){ fprintf(stderr, "Could not compile regex\n"); exit(1); }

/* Execute regular expression */
        reti = regexec(&regex, "abd", 0, NULL, 0);
        if( !reti ){
                puts("Match");
        }
        else if( reti == REG_NOMATCH ){
                puts("No match");
        }
        else{
                regerror(reti, &regex, msgbuf, sizeof(msgbuf)); …
Run Code Online (Sandbox Code Playgroud)

regex

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

发送的Scapy数据包无法接收

我正在尝试使用以下命令发送带有scapy的UDP数据包:

>> send(IP(dst="127.0.0.1",src="111.111.111.111")/UDP(dport=5005)/"Hello")
.
Sent 1 packets.
Run Code Online (Sandbox Code Playgroud)

tcpdump我可以看出:

22:02:58.384730 IP 111.111.111.111.domain > localhost.5005: [|domain]
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下代码接收此数据包:

import socket

UDP_IP = "127.0.0.1"
UDP_PORT = 5005

sock = socket.socket(socket.AF_INET, # Internet
                     socket.SOCK_DGRAM) # UDP
sock.bind((UDP_IP, UDP_PORT))

while True:
    data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes
    print "received message:", data
Run Code Online (Sandbox Code Playgroud)

但无法收到消息.

我通过使用以下代码正常发送udp数据包来测试网络,并且可以接收数据包:

import socket
import time

UDP_IP = "127.0.0.1"
UDP_PORT = 5005

print "UDP target IP:", UDP_IP
print "UDP target port:", UDP_PORT

sock = socket.socket(socket.AF_INET, # Internet
                     socket.SOCK_DGRAM) # …
Run Code Online (Sandbox Code Playgroud)

python sockets networking scapy packet

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

从命令行编译OpenCL Mac OS,找不到openclc命令

在这里说我可以用来openclc从命令行编译,但当我这样做时,它说openclc: command not found,我该怎么办?

提前致谢.

macos opencl

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

CMake FIND_LIBRARY:指向库错误的链接

我已经在我的计算机上安装了FFTW3库,可以在/ usr/lib中找到以下文件:

libfftw3f.so.3          libfftw3l_threads.so.3
libfftw3f.so.3.3.0      libfftw3l_threads.so.3.3.0
libfftw3f_threads.so.3      libfftw3.so.3
libfftw3f_threads.so.3.3.0  libfftw3.so.3.3.0
libfftw3l.so.3          libfftw3_threads.so.3
libfftw3l.so.3.3.0      libfftw3_threads.so.3.3.0
Run Code Online (Sandbox Code Playgroud)

我想安装的软件包需要链接这些库,但是当我尝试 FIND_LIBRARY(FFTW3_LIBRARIES fftw3)FIND_LIBRARY(FFTW3_LIBRARIES fftw3f),它只是无法找到库.

我怎么解决这个问题?谢谢!

CMakeLists.txt中的代码:

FIND_PATH(FFTW3_INCLUDE_DIR fftw3.h)
IF(FFLD_HOGPYRAMID_DOUBLE)
  FIND_LIBRARY(FFTW3_LIBRARIES libfftw3.so.3)
ELSE()
  FIND_LIBRARY(FFTW3_LIBRARIES libfftw3f.so.3)
ENDIF()
#IF(NOT FFTW3_INCLUDE_DIR OR NOT FFTW3_LIBRARIES)
IF(NOT FFTW3_INCLUDE_DIR OR NOT FFTW3_LIBRARIES)
  MESSAGE(FATAL_ERROR "Could not find fftw3.")
ENDIF()
Run Code Online (Sandbox Code Playgroud)

错误信息:

CMake Error at CMakeLists.txt:52 (MESSAGE):
  Could not find fftw3.
Run Code Online (Sandbox Code Playgroud)

ubuntu cmake

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

如何删除docker镜像的所有构建历史?

执行此操作后docker history <image_name>,它将显示 docker 映像构建的完整历史记录。有没有办法删除这个历史记录?

我试过了,docker build --square ...但没有用。历史还在继续。

docker

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

如何在treetable中将参数传递给远程命令?

我想将参数节点传递给将由远程命令调用的函数doAction,我该如何传递它?假设节点有属性名称类型,我想在doAction中使用它们,我该如何传递变量?

谢谢!

public static class node {
        String name;
        String type;

        //setters getters etc...
}

<p:remoteCommand name="doWhatYouWant" action="#{managedBean.doAction}" />

<p:treeTable value="#{managedBean.tree}" var="node">
<p:column>
        <p:commandLink value="Invoke action"  onclick="doWhatYouWant([params...])" />
</p:column>
</p:tree>

public void doAction() {
        // do something with var="node"
}
Run Code Online (Sandbox Code Playgroud)

jsf primefaces

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

Python理解正则表达式

嗨,我正在阅读一些代码并发现re.compile("<@(U\S+)>"),我很难理解<>.有人能给出一个匹配的例子吗?我曾尝试在python交互式shell中使用'<@U>'或者'<@jyx>'它们不匹配.谢谢.

python regex

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

空队列占用多少字节?

空队列,空向量等占用多少字节?

c++ memory queue

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