我有一个程序在循环中构建一个字符串,我的程序太慢了.现在需要大约600毫秒才能运行Oblig1Test.oppgave7.有什么办法可以加快速度?
Oblig1.toString:
public static String toString(int[] a, char v, char h, String mellomrom)
{
String s ="";
s += v;
if(a.length != 0)
{
for(int i = 0; i < a.length-1; i++)
{
s += a[i] + mellomrom;
}
s += a[a.length-1];
}
s += h;
return s;
}
Run Code Online (Sandbox Code Playgroud)
Oblig1Test:
public static int oppgave7()
{
int[] b = new int[20000];
long tid = System.currentTimeMillis();
Oblig1.toString(b,' ',' '," ");
tid = System.currentTimeMillis() - tid;
if (tid > 40) …Run Code Online (Sandbox Code Playgroud) 我该如何修复这个bash终端?为什么会'!' 突然出现问题,并且似乎不再需要引号来生成字符串.我有什么打破的吗?如果是这样,我该如何将其重置为出厂设置?我确信昨天工作正常
Last login: Sat Oct 18 15:30:48 on ttys001
Michels-MacBook-Pro:~ michelfrechette$ echo "hello, world!"
-bash: !": event not found
Michels-MacBook-Pro:~ michelfrechette$ echo hello, world
hello, world
Michels-MacBook-Pro:~ michelfrechette$ echo "hello, world"
hello, world
Run Code Online (Sandbox Code Playgroud)
-bash: !": event not found这很好奇.
这是一个众所周知的成语吗?
applyTwice :: (a -> b -> c) -> (d -> a) -> (d -> b) -> (d -> c)
applyTwice g f1 f2 p = g (f1 p) (f2 p)
Run Code Online (Sandbox Code Playgroud)
这是一个典型的用途:
applyTwice someFunction head tail $ this $ that $ otherThing
Run Code Online (Sandbox Code Playgroud)
在这种情况下,this $ that $ otherThing返回一个列表,我想利用这两个头部和该列表的尾部,然后将两端供给someFunction.
是applyTwice一个标准的习惯用语,还是有一些更自然的方法来获取复杂计算结果的头部和尾部?只是使用where标准方式来做到这一点?
我需要从程序中确定 Linux 命令是否是内置命令。我还需要偶尔运行该内置命令。我将使用别名作为示例,它也适用于其他内置函数。
我发现的一个恰当的答案是使用:
sh -c 'type alias'
Run Code Online (Sandbox Code Playgroud)
这将返回 'alias is a shell builtin',正是我所需要的。但是...我也需要运行它。我尝试过的任何事情都不会这样做。所有这些都在终端窗口中失败(并以编程方式):
sh -c 'alias' (没有任何输出)sh -c 'command alias' (没有任何输出)sh -c 'builtin alias' (sh:1:内置:未找到)sh -c 'type builtin' (内置:未找到)sh -c 'type command' (命令是内置的shell)sh -c 'type type' (类型是内置的外壳)(几乎)不用说,所有这些命令(即没有sh -c)在终端上都可以正常工作。这让我对sh -c命令看似不合理的性质感到困惑。
我的问题是:所有 Linux 版本都是这样吗?我是否缺少开关或设置?那么,我如何从程序中执行内置函数以取回其输出?
我正在开发 Kubuntu 14.04(在 Trisquel 中也是如此);此问题发生在konsole和xterm和程序化调用中。
感谢您的评论和回答,不胜感激。
我确实需要澄清我在做什么:我正在编写一个 CLI 助手 GUI,一个存储最喜欢的 linux 命令并执行它们的程序。
我使用 freepascal/Lazarus,它有一个 TProcess 类,可以启动一个进程并提供对 stdin、stdout 和 stderror 的访问权限。
这对于基于文件的命令(例如 rsync 等)非常有效,并且我输入和输出文本没有问题。我什至可以复制管道,只需将输出从一个进程传递到另一个进程的输入。但... …
任何流程修改cwd都是全局的:
iex(1)> File.cwd
{:ok, "/home/hentioe"}
iex(2)> spawn fn -> File.cd("/home") end
#PID<0.105.0>
iex(3)> File.cwd
{:ok, "/home"}
Run Code Online (Sandbox Code Playgroud)
有没有办法隔离cwd进程之间的当前工作目录()?
int a = 2;
while (1 < a < 5) {
printf("%d\n", a);
a = a + 1;
}
Run Code Online (Sandbox Code Playgroud)
在C程序中,我使用了上面的代码,但它总是无限计数.这意味着while循环的测试条件始终为true.但我无法理解为什么会这样.
我想用python脚本中的任何最快方法过滤两个列表.我已经filter()为此目的使用了内置方法.但是它很慢并且花了太多时间因为我有很大的名单,我认为每个列表中的项目超过500万或者可能更多.我不知道怎么做.如果有人有想法或写小功能请.
我正在调用一个返回以下数组的soap函数:
Array ( [FastAddressResult] => Array ( [IsError] => false [ErrorNumber] => 0 [ErrorMessage] => [Results] => Array ( [Address] => Array ( [Id] => 13872147.00 [OrganisationName] => [DepartmentName] => [Line1] => Methley Grove [Line2] => [Line3] => [Line4] => [Line5] => [PostTown] => Leeds [County] => West Yorkshire [Postcode] => LS7 3PA [Mailsort] => 64121 [Barcode] => [IsResidential] => false [IsSmallOrganisation] => false [IsLargeOrganisation] => false [RawData] => [GeographicData] => Array ( [GridEastM] => 0 [GridNorthM] => 0 [Objective2] …
我需要修改此PHP邮件表单,以使电子邮件主题包括"来自摄影网站的新邮件",然后由提交表单的访问者提供主题.我不知道PHP并尝试了一些东西,但在尝试将其添加到创建$ subject变量的行时总是遇到T_STRING错误.
<?php
/*
Credits: Bit Repository
URL: http://www.bitrepository.com/web-programming/ajax/tableless-form-using-jquery.html
*/
include 'config.php';
error_reporting (E_ALL ^ E_NOTICE);
$post = (!empty($_POST)) ? true : false;
if($post)
{
include 'functions.php';
$name = stripslashes($_POST['name']);
$email = $_POST['email'];
$subject = stripslashes($_POST['subject']);
$message = stripslashes($_POST['message']);
$error = '';
// Check name
if(!$name)
{
$error .= 'Please enter your name.';
}
// Check email
if(!$email)
{
$error .= 'Please enter an e-mail address.';
}
if($email && !ValidateEmail($email))
{
$error .= 'Please enter a valid e-mail address.';
} …Run Code Online (Sandbox Code Playgroud) 最近我遇到了一个问题,要求在没有任何额外缓冲区的情况下找出字符串中的非唯一字符.我将此问题解释为字符串中的字符的就地排序,然后迭代它以便跟踪非唯一字符.
另一个可以具有O(1)空间和O(n ^ 2)运行时间的解决方案是在字符串上有两个"for"循环来跟踪常见的任何字符对.
我需要的是用O(1)空格在至少O(nlogn)时间对字符串进行排序.
是否有一种简单/优雅的方法在O(nlgn)中使用O(1)空间进行就地排序的字符?