我最近开始学习Haskell.我有这个代码
module Main
where
import IO
main = do
hSetBuffering stdin LineBuffering
putStrLn "Please enter your name: "
name <- getLine
putStrLn ("Hello, " ++ name ++ ", how are you?")
Run Code Online (Sandbox Code Playgroud)
我正在使用GHC编译器和notepad ++编辑器.问题是交互是这样的:
流程开始>>>
弗拉德
请输入你的名字:
你好,弗拉德,你好吗?
<<<流程完成.
如您所见,输出仅在我输入内容后写入.这有点出乎意料,因为我确信程序会首先询问我的名字,然后我会进入它然后它会打招呼.好吧,如果我手动运行exe就会发生这种情况,但是如果我用notepad ++运行它并使用它的控制台包装器就不行了......
如何让notepad ++显示输出,而不是在程序终止之前显示所有输出?这甚至可能吗?
我在我已经制作的测试应用程序中重用服务器套接字时遇到了一些问题.基本上,我有一个实现客户端和服务器端的程序.我运行此程序的两个实例用于测试目的,一个实例开始托管,另一个实例连接.这是监听代码:
private void Listen_Click(object sender, EventArgs e)
{
try
{
server = new ConnectionWrapper();
HideControls();
alreadyReset = false;
int port = int.Parse(PortHostEdit.Text);
IPEndPoint iep = new IPEndPoint(IPAddress.Any, port);
server.connection.Bind(iep); // bellow explanations refer to this line in particular
server.connection.Listen(1);
server.connection.BeginAccept(new AsyncCallback(OnClientConnected), null);
GameStatus.Text = "Waiting for connections on port " + port.ToString();
}
catch (Exception ex)
{
DispatchError(ex);
}
}
private void OnClientConnected(IAsyncResult iar)
{
try
{
me = Player.XPlayer;
myTurn = true;
server.connection = server.connection.EndAccept(iar); // I will only …Run Code Online (Sandbox Code Playgroud) 考虑计算结构上不同的二叉搜索树的数量的问题:
给定N,找到包含值1 ... N的结构上不同的二叉搜索树的数量
给出一个解决这个问题的算法很容易:修复根中的每个可能的数字,然后递归地解决左右子树的问题:
countBST(numKeys)
if numKeys <= 1
return 1
else
result = 0
for i = 1 .. numKeys
leftBST = countBST(i - 1)
rightBST = countBST(numKeys - i)
result += leftBST * rightBST
return result
Run Code Online (Sandbox Code Playgroud)
我最近熟悉了treaps,我给自己提出了以下问题:
给定N,找到包含值1 ... N的不同treap的数量,优先级为1 .. N.如果它们在相对于密钥或优先级的结构上不同,则两个treap是不同的(请继续阅读以进行说明).
我一直试图找出一个可以解决这个问题的公式或算法,但我还没有成功.这是我注意到的:
n = 2,并n = 3似乎是2和6,基于我在纸上画树木.我认为困难的部分是考虑到在不改变结构的情况下置换优先级的可能性.例如,考虑这个treap,其中节点表示为(key, priority)对:
(3, 5)
/ \
(2, 3) (4, 4)
/ \
(1, 1) …Run Code Online (Sandbox Code Playgroud)例如,如果输入的数字是24635,则23删除任何3位数后的最小数字.
它与取两个最小的数字不同,因为必须保持数字的顺序.
我在接受采访时遇到过这个问题.
给定二叉树,找到最多一个转弯的最长路径长度.路径的一端必须是一片叶子.另一端可以是叶子或任何节点.
转弯定义为:
In tree1-> start from 1 and there is a turn at root 2 towards right,
In tree2-> starts from 3 goes in left and there is a turn at 1 towards right ,
In tree3-> starts from 1 goes in right and there is a turn at 3 towards left,
2 3 1
/ \ / \
1 3 1 3
\ /
2 2
Run Code Online (Sandbox Code Playgroud)
一些人可以帮助如何继续.谢谢..
编辑:在采访中,我被问到这个问题是树问题直径的后续问题.
我对树的直径的实现是这样的.
变量'res'包含最终答案.
int maxPathSumUtil(struct Node *root, int &res) …Run Code Online (Sandbox Code Playgroud) 我使用的是 Django 1.8、Mezzanine、Cartridge,我使用 Postgresql 作为数据库。
我已经num_in_stock直接从数据库更新了。数据库中的数量都是正确的,但在我的网站上却不是。我知道解决方案在这里,但我不知道该怎么办。我真的需要为我详细说明。
您将如何在 Cartridge 中使用它来刷新num_in_stock?