小编Ary*_*pta的帖子

会议重排问题:最大重排可以达到值k

我的一个朋友最近在一次技术采访中遇到了这个问题。

问题名称- 长时间休息

您正在组织一个活动,将有很多演示者。该事件从时间0开始,并且在事件期间的任何时间(没有演示文稿)都被分配用于联网。演示文稿可能不会重叠,因为它们在同一个房间中,但这使它们可以连续运行而不会中断。虽然语音顺序无法更改,但有一个最大数目可以指示可以重新安排多少语音。您的目标是最大程度地安排您可以安排的最长联网时间。例如,有n = 4个主持人安排了该活动的过程,该活动从时间0开始,在时间t = 15结束。会议在时间start = [4,6,7,10]开始,在时间结束时结束= [5、7、8、11]。您最多可以重新安排k = 2个会议。绿细胞是自由的

在此处输入图片说明

在这种情况下,我们有4个时段未安排发言人:[(0-3),(5),(8-9),(11-14)]。会议在14小时后结束。如果将第一次会议移至一个小时后,则会在0到5、5个小时之间创建休息时间。如果将最后一个语音移至8,它将在9结束,从9中断到15。在这种情况下,将中间的两个语音移到没有意义。通过将最后一个语音移到两个小时之前,可以实现的最长间隔是15-9 = 6小时。这两个选项如下所示。

在此处输入图片说明

不幸的是,我无法将问题映射到一个标准的问题上。我已经尝试过自己的幼稚实现,对于给定的输入似乎效果很好(必须针对极端情况重新制定策略)

这是我的实现

import java.util.ArrayList;
import java.util.Iterator;
class Test {

public static void main(String args[]) {
    Test T  = new Test();
    int  n = 4;
    int k = 2;
    int start[] = {4, 6, 7, 10};
    int end[] = {5, 7, 8, 11};
    int t = 15;
    System.out.println(T.findBreakDuration(n, k, start, end, t));
}

int findBreakDuration(int n, int k, int start[], int end[], int t) { …
Run Code Online (Sandbox Code Playgroud)

algorithm data-structures

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

关于评论摘要的NLP项目

我计划在自然语言处理(使用NLTK)上完成我的最后一年项目,我感兴趣的领域是来自 Facebook等社交媒体网站的评论摘要.例如,我试图做这样的事情:

随机Facebook评论图片:

  1. 哇!美丽.
  2. 看起来真的很美.
  3. 非常漂亮,漂亮的照片.

现在,所有这些注释将被映射(使用基于模板的注释摘要技术),如下所示:

3人认为这张照片是"美丽的".

输出将包含单词"beautiful",因为它在评论中比"pretty"更常用(以及Beautiful和pretty是同义词这一事实).为了完成这项任务,我将使用跟踪关键字频率关键字得分的方法(在这种情况下,"美丽""漂亮"得分非常接近). 这是最好的方法吗?

到目前为止,通过我的研究,我已经能够提出以下论文,但没有一篇论文涉及这种评论摘要:

该领域的其他哪些论文涉及类似问题?

除此之外,我还希望我的摘要工具能够改进每个摘要任务.如何在这方面应用机器学习

python nlp machine-learning nltk summarization

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

在C中实现Cormen的HeapSort算法

我正在尝试实现Cormen中提供的堆排序算法.我的代码如下:

    #include<stdio.h>
    #include<conio.h>
    void max_heapify(int *,int);
    void build_max_heap(int *,int);
    void heapsort(int *,int);
    void swap(int,int);
    int heapsize;
    int main()
    {
            int *arr,n,i;
            printf("Enter no. of elements = ");
            scanf("%d",&n);
            arr=(int *)malloc(sizeof(int)*n);
            for(i=0;i<n;i++)
            {
             printf("Enter array elements = ");
             scanf("%d",&arr[i]);
            }
            //heapsize = n;
            heapsort(arr,n);
            printf("\nAfter heapsort \n");
            for(i=0;i<n;i++)
            {
                printf("%d  ",arr[i]);
            }
        return 0;
    }
 void heapsort(int *arr,int len)
 {
   int i;
   build_max_heap(arr,len);
    for(i= len-1;i>=1;i--)
    {
        swap(&arr[0],&arr[i]);
        heapsize = heapsize -1;
        max_heapify(arr,0);
    }
 }
void max_heapify(int *arr,int i)
{
    int l=2*i,r=2*i+1,largest; …
Run Code Online (Sandbox Code Playgroud)

c sorting algorithm heapsort

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

Jenkins的K8s插件:始终在容器中运行两个单独的容器

我已经创建了一个Dockerfile(用于可以与JenkinsKubernetes插件一起使用的Node JNLP从站)。我从官方形象延伸jenkinsci/jnlp-slave

FROM jenkinsci/jnlp-slave

USER root


MAINTAINER Aryak Sengupta <aryak.sengupta@hyland.com>
LABEL Description="Image for NodeJS slave"

COPY cert.crt /usr/local/share/ca-certificates
RUN update-ca-certificates

RUN curl -sL https://deb.nodesource.com/setup_8.x | bash \
    && apt-get install -y nodejs

ENTRYPOINT ["jenkins-slave"]
Run Code Online (Sandbox Code Playgroud)

我将此图像保存在我的Pod模板中(在K8s插件配置中)。现在,当我尝试在此从属服务器上运行构建时,我发现在Pod内生成了两个容器(屏幕快照证明相同)。

在此处输入图片说明

我的Pod模板如下所示:

在此处输入图片说明

我的Kubernetes配置看起来像这样: 在此处输入图片说明

现在,如果我做一个简单的工作docker ps,我发现有两个启动的容器(为什么?):

在此处输入图片说明

现在,在Jenkins的Jenkins Job配置内部,无论我在构建步骤中添加什么,这些步骤都将在第一个容器中执行。

即使我Node在自己的容器中使用了官方容器PodTemplate,结果仍然相同:

在此处输入图片说明

我尝试在我的Jenkins Job中打印Node版本,并且输出为“ Node not found”。另外,为了验证我的腰臀,我在docker exec第二个容器中做了一个步骤,然后尝试打印Node版本。在这种情况下,它绝对可以正常工作。

这是我的构建步骤如下所示:

在此处输入图片说明

因此,归根结底,我有两个主要问题:

  1. 每当启动Jenkins Job时,为什么会启动两个单独的容器(一个用于JNLP,一个用于所有自定义更改)?
  2. 为什么我的作业在未安装Node的第一个容器上运行?如何Node使用此配置实现构建项目的预期行为?

我想念什么? …

jenkins jenkins-plugins docker kubernetes

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