我的一个朋友最近在一次技术采访中遇到了这个问题。
问题名称- 长时间休息
您正在组织一个活动,将有很多演示者。该事件从时间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) 我计划在自然语言处理(使用NLTK)上完成我的最后一年项目,我感兴趣的领域是来自 Facebook等社交媒体网站的评论摘要.例如,我试图做这样的事情:
随机Facebook评论图片:
现在,所有这些注释将被映射(使用基于模板的注释摘要技术),如下所示:
3人认为这张照片是"美丽的".
输出将包含单词"beautiful",因为它在评论中比"pretty"更常用(以及Beautiful和pretty是同义词这一事实).为了完成这项任务,我将使用跟踪关键字频率和关键字得分的方法(在这种情况下,"美丽"和"漂亮"得分非常接近). 这是最好的方法吗?
到目前为止,通过我的研究,我已经能够提出以下论文,但没有一篇论文涉及这种评论摘要:
该领域的其他哪些论文涉及类似问题?
除此之外,我还希望我的摘要工具能够改进每个摘要任务.如何在这方面应用机器学习?
我正在尝试实现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) 我已经创建了一个Dockerfile(用于可以与Jenkins的Kubernetes插件一起使用的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模板如下所示:
现在,如果我做一个简单的工作docker ps,我发现有两个启动的容器(为什么?):
现在,在Jenkins的Jenkins Job配置内部,无论我在构建步骤中添加什么,这些步骤都将在第一个容器中执行。
即使我Node在自己的容器中使用了官方容器PodTemplate,结果仍然相同:
我尝试在我的Jenkins Job中打印Node版本,并且输出为“ Node not found”。另外,为了验证我的腰臀,我在docker exec第二个容器中做了一个步骤,然后尝试打印Node版本。在这种情况下,它绝对可以正常工作。
这是我的构建步骤如下所示:
因此,归根结底,我有两个主要问题:
Node使用此配置实现构建项目的预期行为?我想念什么? …