加载中

现在用时多少?希望把用时降低到多少?考虑用东西做吗?例如solr

@TodaErika
SQL 如下 select * FROM tb_barcodeout WHERE charindex(',1136...
穷困潦倒 2018/02/24 18:03 回答了问题: 求一枚计算出最优惠券的算法

先把问题抽象一下,有时间再回答。题意:

1.每种商品都有对应可以的优惠券

2.一种商品只能用一张优惠券。

问优惠券的最优组合。

如果能把数据弄成一下形式:

假设买了n种商品,可以得出n组数组,每个数组是对应商品可用优惠券的减值。(即给出n组数组)

优惠券间存在排斥关系,即A商品的优惠券a和B商品的优惠券b不能同时有,又或者,优惠券a可同时用于商品A和B,优惠券只能用一次,所以如果商品A用了a优惠券,商品B就只能选用其他优惠券。(即给出排斥关系)

约定数据形式如下:

1.A[i][j]代表第i个商品可用的第j个优惠券的减免值。

2.List<String>,一个String代表一个排斥关系,String的格式是:(a1,a2):(b1,b2),含义是第A[a1][a2]和A[b1][b2]不能同时选中。

现在问题变成,在二维数组A中的每一行选择一个数字,且该选择满足排斥关系,求选出数字的和最大的选择方式。

一开始的想法:贪心算法,就是选择每行中最大的一个,这样选出来的组合是不是最优有待证明。

@OLESHI
各位大神过年好啊!情况是这样的:满减优惠券,可以指定那些商品可以使用该券。(这样就会有两个表--优惠券表,优惠券和...
穷困潦倒 2017/06/09 15:31 评论了博客:Mybatis类型转换介绍
说的很啰嗦,500字能说明白的东西硬要讲到3000字
@Java编程思想
Mybatis类型转换介绍 1.1 目录 1.2 建立TypeHandler 1.2.1 TypeHandler接...
穷困潦倒 2016/03/20 20:26 发布了问题:
穷困潦倒 2016/03/01 10:04 发布了问题:
穷困潦倒 2016/01/25 10:51 回答了问题: java实现http的长连接
回复 @maradona : 那java有实现http的keep-alive吗?
@穷困潦倒
现在java的URLConnection类是怎么实现http的长连接的?我的理解:当应用程序读取完响应体内容后或者...
穷困潦倒 2016/01/25 09:57 回答了问题: java实现http的长连接
什么情况下不一定?
@穷困潦倒
现在java的URLConnection类是怎么实现http的长连接的?我的理解:当应用程序读取完响应体内容后或者...
穷困潦倒 2016/01/24 22:51 发布了问题:
顶一下~~
@穷困潦倒
我运行kafka和zookeeper,会在E盘根目录下生成kafaka-request.log,kafka-aut...
穷困潦倒 2016/01/14 13:24 回答了问题: storm无法提交topology


package com;

import com.bolt.*;
import com.common.*;
import com.spout.*;

import backtype.storm.Config;
import backtype.storm.LocalCluster;
import backtype.storm.StormSubmitter;
import backtype.storm.generated.AlreadyAliveException;
import backtype.storm.generated.InvalidTopologyException;
import backtype.storm.topology.TopologyBuilder;
import backtype.storm.tuple.Fields;
import backtype.storm.utils.Utils;

public class ClickTopology {

	private TopologyBuilder builder = new TopologyBuilder();
	private Config conf = new Config();
	private LocalCluster cluster;

	/*
	 * 入口
	 */
	public static void main(String[] args) throws AlreadyAliveException, InvalidTopologyException {
		ClickTopology topology = new ClickTopology();
		if (args != null && args.length > 1) {
			topology.runCluster(args[0], args[1]);
		} else {
			System.out.println("Running in local mode" + "\nRedis ip missing for cluster run");
			topology.runLocal(100000);
		}
	}

	public ClickTopology() {
		builder.setSpout("clickSpout", new ClickSpout(), 10);
		builder.setBolt("repeatBolt", new RepeatVisitBolt(), 10).shuffleGrouping("clickSpout");
		builder.setBolt("geographyBolt", new GeographyBolt(new HttpIpResolver()), 10).shuffleGrouping("clickSpout");
		builder.setBolt("totalStats", new VisitorStatsBolt(), 1).globalGrouping("repeatBolt");

		builder.setBolt("geoStats", new GeoStatsBolt(), 10).fieldsGrouping("geographyBolt",
				new Fields(FieldNames.COUNTRY));
	}

	public TopologyBuilder getBuilder() {
		return builder;
	}

	public LocalCluster getLocalCluster() {
		return cluster;
	}

	private void runLocal(int runTime) {
		conf.setDebug(true);
		conf.put(ConfKeys.REDIS_HOST, "localhost");
		conf.put(ConfKeys.REDIS_PORT, "6379");
		cluster = new LocalCluster();
		cluster.submitTopology("test", conf, builder.createTopology());

		if (runTime > 0) {
			Utils.sleep(runTime);
			shutdownLocal();
		}
	}

	private void shutdownLocal() {
		if (cluster != null) {
			cluster.killTopology("test");
			cluster.shutdown();
		}
	}

	//
	private void runCluster(String name, String redisHost) throws AlreadyAliveException, InvalidTopologyException {
		conf.setNumWorkers(20);
		conf.put(ConfKeys.REDIS_HOST, redisHost);
		conf.put(ConfKeys.REDIS_PORT, "6379");
		StormSubmitter.submitTopology(name, conf, builder.createTopology());
	}

}



@穷困潦倒
在控台用storm jar 命令提交topology。执行后没提示错误,但用storm list命令和ui上查看,...
穷困潦倒 2016/01/14 12:04 发布了问题:

没有更多内容

加载失败,请刷新页面

返回顶部
顶部