如果我给出了最大重量,比如 w=20 。并且我给出了一组权重,比如 m=[5,7,12,18] 那么我如何计算我们可以在最大重量内保持的最大可能重量他们。在本例中,答案是 19。加上 12+7=19。我的代码给了我 18。请帮助我。
int weight(int W, vector<int> &m) {
int current_weight = 0;
int temp;
for (int i = 0; i < w.size(); i++) {
for (int j = i + 1; j < m.size(); j++) {
if (m[i] < m[j]) {
temp = m[j];
m[j] = m[i];
m[i] = temp;
}
}
}
for (size_t i = 0; i < m.size(); ++i) {
if (current_weight + m[i] <= W) {
current_weight += m[i];
} …Run Code Online (Sandbox Code Playgroud) 我们在弹性搜索实例上经常遇到“内存不足异常”。3台机器在具有类似配置的弹性搜索集群中。
环境:Windows Server 2012 R2 64 位操作系统。Ram:24gb 弹性搜索:6.3.2 JVM 堆大小(弹性搜索中的 jvm.options):-Xms16g -Xmx16g
我们已经尝试使用 2g (Xms2g & Xmx2g) 和 8g (Xms8g & Xmx8g) 来获得最小和最大堆大小,但最终还是出现了同样的错误。
并按照以下链接 https://www.elastic.co/guide/en/elasticsearch/guide/current/heap-sizing.html
我们尝试了 (Xms12g & Xmx12g) 的堆大小,即 24gb RAM 的 50%,但仍然失败。
[2018-09-14T04:14:37,545][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [Machine1] fatal error in thread [elasticsearch[Machine1][refresh][T#2]], exiting java.lang.OutOfMemoryError: Java heap space at org.apache.lucene.util.fst.BytesStore.writeByte(BytesStore.java:89) ~[lucene-core-7.3.1.jar:7.3.1 ae0705edb59eaa567fe13ed3a222fdadc7153680
- caomanhdat - 2018-05-09 09:27:24] at org.apache.lucene.util.fst.FST.<init>(FST.java:265) ~[lucene-core-7.3.1.jar:7.3.1 ae0705edb59eaa567fe13ed3a222fdadc7153680
- caomanhdat - 2018-05-09 09:27:24] at org.apache.lucene.util.fst.Builder.<init>(Builder.java:157) ~[lucene-core-7.3.1.jar:7.3.1 ae0705edb59eaa567fe13ed3a222fdadc7153680
- caomanhdat - 2018-05-09 09:27:24] at org.apache.lucene.codecs.blocktree.BlockTreeTermsWriter$PendingBlock.compileIndex(BlockTreeTermsWriter.java:456) ~[lucene-core-7.3.1.jar:7.3.1 ae0705edb59eaa567fe13ed3a222fdadc7153680
- caomanhdat - …Run Code Online (Sandbox Code Playgroud)