小编IVl*_*lad的帖子

在记事本++中的Haskell控制台IO

我最近开始学习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 ++显示输出,而不是在程序终止之前显示所有输出?这甚至可能吗?

haskell notepad++

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

如何在C#中取消绑定套接字?

我在我已经制作的测试应用程序中重用服务器套接字时遇到了一些问题.基本上,我有一个实现客户端和服务器端的程序.我运行此程序的两个实例用于测试目的,一个实例开始托管,另一个实例连接.这是监听代码:

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)

.net c# sockets asynchronous

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

计算Treaps

考虑计算结构上不同的二叉搜索树的数量的问题:

给定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是不同的(请继续阅读以进行说明).

我一直试图找出一个可以解决这个问题的公式或算法,但我还没有成功.这是我注意到的:

  1. 对于这些问题的答案n = 2,并n = 3似乎是26,基于我在纸上画树木.
  2. 如果我们忽略了表示treaps的部分也可能与节点的优先级不同,那么问题似乎与仅计算二进制搜索树相同,因为我们将能够为每个BST分配优先级,以便它也尊重堆不变量.我没有证明这一点.
  3. 我认为困难的部分是考虑到在不改变结构的情况下置换优先级的可能性.例如,考虑这个treap,其中节点表示为(key, priority)对:

              (3, 5)
              /    \ 
         (2, 3)    (4, 4)
         /              \
    (1, 1) …
    Run Code Online (Sandbox Code Playgroud)

algorithm math binary-tree combinatorics

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

从输入的数字中删除k个数字后如何获得最少的数字

例如,如果输入的数字是24635,则23删除任何3位数后的最小数字.

它与取两个最小的数字不同,因为必须保持数字的顺序.

c algorithm data-structures

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

二叉树中最长的路径,最多一圈

我在接受采访时遇到过这个问题.

给定二叉树,找到最多一个转弯的最长路径长度.路径的一端必须是一片叶子.另一端可以是叶子或任何节点.

转弯定义为:

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)

algorithm tree binary-tree

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

在 Django 中使用 refresh_from_db 的正确方法是什么?

我使用的是 Django 1.8、Mezzanine、Cartridge,我使用 Postgresql 作为数据库。

我已经num_in_stock直接从数据库更新了。数据库中的数量都是正确的,但在我的网站上却不是。我知道解决方案在这里,但我不知道该怎么办。我真的需要为我详细说明。

您将如何在 Cartridge 中使用它来刷新num_in_stock?

python django cartridge

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