小编Cod*_*ter的帖子

数组:找到最小数量的交换以使数组的比特最小化?

假设我们得到一个整数数组.所有相邻元素都保证不同.让我们定义bitonicity这个数组的abt使用以下关系:

bt_array[i] = 0, if i == 0;
            = bt_array[i-1] + 1, if a[i] > a[i-1]
            = bt_array[i-1] - 1, if a[i] < a[i-1]
            = bt_array[i-1], if a[i] == a[i-1]

bt = last item in bt_array
Run Code Online (Sandbox Code Playgroud)

我们说如果阵列的比特性为零,如果它具有奇数个元素,则它的比特性是最小的,或者如果它具有偶数个元素,则其比特性为+1或-1.

问题是设计一种算法,该算法找到所需的最少数量的交换,以使任何阵列的比特性最小.该算法的时间复杂度应该是最差的O(n),n是数组中元素的数量.

例如,假设 a = {34,8,10,3,2,80,30,33,1}

它的最初bt是-2.最小值为0.这可以通过1次交换来实现,即交换2和3.因此输出应为1.

以下是一些测试用例:

测试用例1:a = {34,8,10,3,2,80,30,33,1},min swaps = 1(交换2和3)

测试用例2:{1,2,3,4,5,6,7}:min swaps = 2(交换7与4和6与5)

测试用例3:{10,3,15,7,9,11}:min swaps = 0.bt = 1.

还有一些:

{2,5,7,9,5,7,1}:current bt= 2.交换5和7:minSwaps = 1

{1,7,8,9,10,13,11}:current …

arrays algorithm

11
推荐指数
1
解决办法
1215
查看次数

如何将Angular和Vue项目合并在一起?

我读了这方面的各种资源,但仍然无法找到方法.这里的问题是我想将两个不同的项目合并在一起.我的同事正在研究他在AngularJS中设计的一个功能.我使用VueJS开发了我的功能.管理层随后决定将两者合并在一起.在第一个项目启动的用户界面中,将提供一个链接,从我的网页在VueJS中设计的位置开始.

我在VueJS服务器上本地运行我的项目npm start,也使用快速服务器.但是第一个项目只运行node app.js,然后在本地运行.

以下是他的项目描述的截图:

在此输入图像描述

这是我的项目细节:

在此输入图像描述

我的index.html文件包含以下内容:

<!-- index.html -->

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Error Details and Description</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
  </head>
  <body>
    <div id="app"></div>
    <script src="bundle.js"></script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

第一个项目中包含的另一个index.html包含我的应用程序将通过其启动的链接的代码.该链接包含此代码,可以重定向到我的代码:

<li><a><i class="fa fa-edit"></i>Administration<span class="fa fa-chevron-down"></span></a>
                        <ul class="nav child_menu">
                          <li><a href="#!errorinput"><i class="fa fa-database"></i>Manage Error Descriptions</a></li>
Run Code Online (Sandbox Code Playgroud)

相应的errorinput.js文件包含以下代码:

'use strict';

app.config(function ($routeProvider) {
    $routeProvider
        .when("/errorinput", {
            templateUrl: "views/errorinput.html"
        });
});


app.controller('ErrorInputCtrl', ['$scope', '$http', function ($scope, $http) {
 // Implement me!
}]);
Run Code Online (Sandbox Code Playgroud)

知道如何将它们合并在一起以获得所需的功能吗?

编辑:所以我确实找到了在一台服务器上运行这两个项目的方法.我在我的VueJS项目中包含了AngularJS的所有依赖项.角应用程序运行正常,但现在,VueJS网页没有与angularJS一起出现.当我给出我的VueJS应用程序的相对路径时,它似乎在后台.任何想法我现在如何在这个引导的AngularJS应用程序中路由我的VueJS?这里提到了有关此问题的更多详细信息:

更多细节

javascript node.js angularjs angular-ui-bootstrap vue.js

8
推荐指数
1
解决办法
3641
查看次数

如何从头开始在Java中实现功能切换?

我需要在当前项目中实现功能切换。我不知道如何从头开始在Java中实现它。

我已经阅读了与该主题相关的各种文章中关于功能切换的理论,但是我还没有看到针对初学者详细描述此功能的实现教程或文档。

java featuretoggle

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

如何在本地计算机上使用python 2.7执行AWS粘合脚本?

aws cliboto3安装在我的python 2.7环境。我想执行各种操作,例如获取架构信息,获取AWS Glue控制台中存在的所有表的数据库详细信息。我尝试了以下脚本示例:

import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job

glueContext = GlueContext(SparkContext.getOrCreate())
persons = glueContext.create_dynamic_frame.from_catalog(
             database="records",
             table_name="recordsrecords_converted_json")
print "Count: ", persons.count()
persons.printSchema()
Run Code Online (Sandbox Code Playgroud)

我得到的错误ImportError: No module named awsglue.transforms应该是正确的,因为我使用命令确定的boto3中没有这样的软件包dir(boto3)。我发现可以boto3提供各种客户呼叫awscli,我们可以使用来访问它们client=boto3.client('glue')。因此,为了获得上述架构信息,我尝试了以下示例代码:

import sys
import boto3
client=boto3.client('glue')
response = client.get_databases(
    CatalogId='string',
    NextToken='string',
    MaxResults=123
)
print client
Run Code Online (Sandbox Code Playgroud)

但是然后我得到这个错误: AccessDeniedException: An error occurred (AccessDeniedException) …

python amazon-web-services boto3 aws-glue

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

AWS EMR 添加步骤:如何在 --jars 和 --driver-class-path 选项中添加来自 s3 的多个 jar?

因此,我尝试Apache Spark在 AWS EMR 上cluster使用spark-submit. 如果我在类路径中只提供一个 jar,则它可以与使用--jar--driver-class-path选项的给定选项配合使用。我所需的所有依赖项 jar 都位于S3EMR 所需的存储桶中。为此,我在 EMR AWS 控制台上的 EMR 添加步骤选项中使用以下命令:

--class org.springframework.boot.loader.JarLauncher --jars s3://emrb/gson-2.8.4.jar --driver-class-path s3://emrb/gson-2.8.4.jar
Run Code Online (Sandbox Code Playgroud)

现在,我spark-submit optionsadd step. 但如果我想用同样的方式提供多个依赖的jar,就不会占用其他jar。我提供以下方式并尝试了各种选项,但找不到依赖的 jars:

 --jars s3://emrb/hadoop_jars/emrfs-hadoop-assembly-2.32.0.jar,s3://emrb/gson-2.8.4.jar --driver-class-path s3://emrb/hadoop_jars/emrfs-hadoop-assembly-2.32.0.jar,s3://emrb/gson-2.8.4.jar --class org.springframework.boot.loader.JarLauncher
Run Code Online (Sandbox Code Playgroud)

scala amazon-web-services amazon-emr apache-spark spark-submit

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

如何使用 s3 select 从镶木地板文件中获取所有列的列表?

我有一个存储在 S3 存储桶中的镶木地板文件。我想获取镶木地板文件的所有列的列表。我正在使用,s3 select但它只是给了我没有任何列标题的所有行的列表。

有没有办法从这个镶木地板文件中获取所有列名而不完全下载它?由于镶木地板文件可能非常大,我不想下载整个镶木地板文件,这就是为什么我使用s3 select选择前几行

select * from S3Object LIMIT 10
Run Code Online (Sandbox Code Playgroud)

我试图通过执行显式获取列名

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'S3Object'
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为 AWS S3 尚不支持此功能。

有没有其他方法可以实现相同的目标?

java sql amazon-s3 parquet amazon-s3-select

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

如何使用python打印随机森林回归中重要特征的顺序?

我正在尝试在我的一个数据集上创建随机森林回归模型。我还需要找到每个变量的重要性顺序以及它们的名称。我尝试了几件事,但无法实现我想要的。以下是我在Boston Housing数据集中尝试的示例代码:

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_boston
from sklearn.ensemble import RandomForestRegressor
import pandas as pd
import numpy as np
boston = load_boston()
rf=RandomForestRegressor(max_depth=50)
idx=range(len(boston.target))
np.random.shuffle(idx)
rf.fit(boston.data[:500], boston.target[:500])
instance=boston.data[[0,5, 10]]
print rf.predict(instance[0])
print rf.predict(instance[1])
print rf.predict(instance[2])
important_features=[]
for x,i in enumerate(rf.feature_importances_):
      important_features.append(str(x))
print 'Most important features:',', '.join(important_features)
Run Code Online (Sandbox Code Playgroud)

最重要的功能:0、1、2、3、4、5、6、7、8、9、10、11、12

如果我打印此:

impor = rf.feature_importances_
impor
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

array([  3.45665230e-02,   4.58687594e-04,   5.45376404e-03,
     3.33388828e-04,   2.90936201e-02,   4.15908448e-01,
     1.04131089e-02,   7.26451301e-02,   3.51628079e-03,
     1.20860975e-02,   1.40417760e-02,   8.97546838e-03,
     3.92507707e-01])
Run Code Online (Sandbox Code Playgroud)

我需要获取与这些值关联的名称,然后从这些功能中选择前n个。

python machine-learning scikit-learn

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

我的 s3 存储桶中的图像不会在浏览器中打开,它们只会下载

如何在浏览器中打开 s3 存储桶上的图像?

我已经设置了一个 Amazon s3 存储桶来托管我的 web 应用程序的图像,我遇到的问题是当我单击图像的链接时,它会下载图像而不是在浏览器中显示它。

  1. 我已将元数据设置为 'Content-Type: image/*'
  2. 我已将权限设置为公开

这是我正在使用的代码:

private void uploadFileTos3bucket(String fileName, MultipartFile file) 
{ 
    try
        (InputStream is = file.getInputStream()) 
            { ObjectMetadata metadata = new ObjectMetadata(); 
              metadata.setContentLength(file.getBytes().length); 
              metadata.setLastModified(new Date()); 
              metadata.setContentType("image/*"); s3client.putObject(new 
              PutObjectRequest(bucketName, fileName, is, metadata).withCannedAcl(CannedAccessControlList.PublicRead)); }        
              catch(IOException e) { e.printStackTrace(); 
            } 
    }
Run Code Online (Sandbox Code Playgroud)

有没有人有任何其他想法或解决方案?

java spring amazon-s3 amazon-web-services

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