小编d--*_*--b的帖子

净订单的最佳算法

我正在建立一个市场,我想为市场参与者订单建立一个匹配机制.

例如,我收到这些订单:

A buys 50
B buys 100
C sells 50
D sells 20
Run Code Online (Sandbox Code Playgroud)

可以被表示为List<Orders>,其中Order是与一类Participant,BuySellAmount

我想创建一个Match输出两件事的函数:

  1. 一组不匹配的订单(List<Order>)
  2. 一组匹配的订单(List<MatchedOrder>其中MatchOrderBuyer,Seller,Amount

约束是最小化订单数量(不匹配和匹配),同时不留下任何可能的匹配(即,最终只能存在无法匹配的买入或卖出订单)

所以在上面的例子中,结果将是:

A buys 50 from C
B buys 20 from D
B buys 80 (outstanding)
Run Code Online (Sandbox Code Playgroud)

这似乎是一个相当复杂的编写算法,但在实践中很常见.任何指针在哪里看?

algorithm

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

使用 sc.exe 使用当前用户帐户创建 Windows 服务

我正在尝试编写一个批处理文件来创建一个 Windows 服务,该服务以当前运行该批处理文件的用户身份运行。换句话说,如果我,user_x 运行批处理文件,创建的服务将以我,user_x 身份登录。

由于用户必须登录才能运行批处理文件,因此我希望有一种方法可以在不输入用户密码的情况下创建服务。

到目前为止,我一直在使用 sc.exe 创建“本地系统”Windows 服务,效果很好。但是我不明白如何为当前用户做同样的事情。任何想法?

windows service windows-services batch-file

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

如何轻松地从 lambda 函数创建一个比较器?

我想知道 .Net 框架中是否提供了一个实现 IComparer 并且可以从 lambda 函数构造的类。能够做到这一点会很有用:

void SortByLength(List<string> t)
{
    t = t.OrderBy(
           s => s, 
           Comparer<string>.FromLambda((s1,s2) => s1.Length.CompareTo(s2.Length))
        ).ToList();
}
Run Code Online (Sandbox Code Playgroud)

这比每次都必须定义一个 Comparer 类要容易得多。我知道创建这样的 FromLambda 方法并不复杂,但我想知道框架中是否存在现有方法,因为我认为这是一个非常常见的功能。

c#

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

与边界的纯净的css树

我试图在纯CSS中创建一个带缩进的树.我一直在尝试使用类似的东西:

ul.tree ul {
  padding-left: 5px;
}
Run Code Online (Sandbox Code Playgroud)

但是我想在列表中的每个项目之间进行分隔.如果我使用上面的代码,分隔栏也会缩进,所以它不太好.

这是我当前的代码(我直接在js中进行缩进,我不喜欢):jsfiddle

最终,我想创建一些基本上看起来像这样的东西:

树的例子

任何想法如何在纯CSS中做到这一点?感谢最简单的答案.

css

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

响应任何子文件夹获取请求的Express.js路由

我试图在快速js中设置一个路由,该路由将由任何以该路由Url开头的查询触发.

例如,我想在html文件中执行以下操作:

<a href="/article/article1">Article 1</a>
<a href="/article/article2">Article 2</a>
Run Code Online (Sandbox Code Playgroud)

并通过一条路线处理2个网址:

app.get('/article/*',function(req,res) {
   // do something with req.path
}
Run Code Online (Sandbox Code Playgroud)

我知道静态就是这样,所以应该有办法.我想在不使用查询参数的情况下执行此操作,因为没有查询参数的网址感觉更加静态,我想给用户这样的印象,即网页将始终有效.

有什么事可做吗?

javascript node.js express

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

如何取消注册电子事件?

我正在使用需要加载几个html页面的atom-shell创建一个应用程序.每次加载不同的页面时,我都需要执行一些自定义脚本.为此,我正在使用mainWindow.webContents.on('did-finish-load', ...).但由于我需要为每个文件都有一个自定义函数,我想从did-finish-load事件中取消注册.

例:

mainWindow.webContents.on('did-finish-load',function() {
    console.log('loaded page1');
    mainWindow.webContents.unregister('did-finish-load') // <= does that exist?
});
mainWindow.loadUrl('file://.../page1.html');
Run Code Online (Sandbox Code Playgroud)

electron

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

有没有办法在MVVM中自动创建DependencyProperty

更多可用性问题.我正在构建一个大的MVVM应用程序,我发现自己在这个地方复制/修改这段代码:

public NodeKind Kind
{
    get { return (NodeKind)this.GetValue(KindProperty); }
    set { this.SetValue(KindProperty, value); }
}

public static readonly DependencyProperty KindProperty = DependencyProperty.Register(
        "Kind", typeof(NodeKind), typeof(DashboardNode));
Run Code Online (Sandbox Code Playgroud)

在Visual Studio中有一种方法可以使用快捷方式生成此代码吗?我有Resharper和VS 2015,我找不到自动为我做的命令.

c# wpf mvvm system.componentmodel

4
推荐指数
3
解决办法
659
查看次数

List上的Select()是否会丢失集合的大小?

在下面的代码中,该Select()方法是否足够智能,以便在内部保持列表的大小,以使ToArray()方法便宜?

List<Thing> bigList = someBigList;
var bigArray = bigList.Select(t => t.SomeField).ToArray();
Run Code Online (Sandbox Code Playgroud)

c# linq

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

谷歌一键式登录不会返回idToken

我正在尝试按照本指南制作新的谷歌一键式登录工作:

https://developers.google.com/identity/one-tap/web/get-started

我打电话的时候:

const hintPromise = googleyolo.hint({
  supportedAuthMethods: [
    "https://accounts.google.com"
  ],
  supportedIdTokenProviders: [
    // Google can provide ID tokens -- signed assertions of a user's
    // identity -- which you can use to create more streamlined sign-in
    // and sign-up experiences.
    {
      uri: "https://accounts.google.com",
      clientId: "YOUR_GOOGLE_CLIENT_ID"
    }
  ]
});
Run Code Online (Sandbox Code Playgroud)

我在promise回调中得到了一个响应,没有错误.但idToken是空的......

hintPromise.then((credential) => {
    if (credential.idToken) {                       // <= THIS IS ALWAYS FALSE!!!
        // Send the token to your auth backend.
        loginWithGoogleIdToken(credential.idToken);
    }
}, (error) => { console.log(error); });
Run Code Online (Sandbox Code Playgroud)

credential …

javascript google-authentication google-identity

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

带有闪烁边框的表格单元格

我正在制作一个用户界面,我需要在其中突出显示表格中的单元格。我已经为别的东西使用了颜色,所以我需要使用边框。我创建了 css 来将边框更改为虚线,但这并没有突出显示。我想知道是否有任何方法可以为边框设置动画,以便它们闪烁或圆形(典型的虚线边框动画)。我尝试了@keyframes 和动画,但失败了。

我很高兴用 javascript 来做,但我不能使用 jQuery 或任何其他框架。

如果有人对突出显示单元格有任何其他建议,那也可能有所帮助。

我使用的测试代码是这样的:

<table class="t">
    <tr>
        <td class="t">1</td>
        <td class="t top">2</td>
        <td class="t">3</td>
    </tr>
    <tr>
        <td class="t left">4</td>
        <td class="t middle">5</td>
        <td class="t right">6</td>
    </tr>
    <tr>
        <td class="t">7</td>
        <td class="t bottom">8</td>
        <td class="t">9</td>
    </tr>
</table>    
Run Code Online (Sandbox Code Playgroud)

CSS:

table.t {
    border-collapse: collapse;
    border:1px;
    table-layout:fixed;
}

td.t {
    border: 1px solid black;
    width: 50px;
}

td.top {
    border-bottom: 1px dashed black;
}
td.left {
    border-right: 1px dashed black;
}
td.right {
    border-left: 1px dashed black; …
Run Code Online (Sandbox Code Playgroud)

javascript css css-animations

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