我在文本文件中有50,000,000(整数,字符串)对.整数是以毫秒为单位的时间,因此长度为13位(例如1337698339089).
文本文件中的条目如下所示:
1337698339089|blaasdasd
1337698339089|asdasdas
1337698338089|kasda
Run Code Online (Sandbox Code Playgroud)
可以有相同的条目.
我想对整数上的条目(按升序排序)进行排序,保留任何重复的整数并保留(整数,字符串)对.我采取的方法导致内存错误,所以我正在寻找替代方法.
我的方法是这样的(使用一些伪代码):
// declare TreeMap to do the sorting
TreeMap<Double, String> sorted = new TreeMap<Double, String>();
// loop through entries in text file, and put each in the treemap:
for each entry (integer, string) in the text file:
Random rand = new Random();
double inc = 0.0;
while (sorted.get(integer + inc) != null) {
inc = rand.nextDouble();
}
sorted.put(integer + inc, string);
Run Code Online (Sandbox Code Playgroud)
我在这里使用随机数来确保可以在树形图中输入重复的整数(通过将它们在0和1之间递增).
// to print the sorted entries:
for (Double d : sorted.KeySet()) …Run Code Online (Sandbox Code Playgroud) 我在OpenCV工作,但我认为没有这方面的功能.我可以找到一个查找仿射变换的函数,但是仿射变换包括缩放,我只想考虑旋转+平移.
想象一下,我在2D中有两组积分 - 让我们说每组都有50分.
例如,设置A = {x1,y1,x2,y2,...,x50,y50}
设置B = {x1',y1',x2',y2',...,x50',y50'}
我想找到最接近映射集A到集合B的旋转和平移组合.我想我将定义"最接近"作为最小化A中的点与BIe中的对应点之间的平均距离,最小化(x1之间的平均距离) ,y1)和(x1',y1')等
我想我可以使用蛮力测试所有可能的翻译和旋转,但这将是非常低效的.有谁知道更简单的方法?
谢谢!
我已经在Stack Overflow的其他地方读到了Excel问题在这里可以接受,所以请不要生气:)如果他们应该在其他地方,请告诉我...
我很沮丧,因为我很确定我曾经知道如何做到这一点.
想象一下下表:
Frequency Object
3 A
2 B
4 C
Run Code Online (Sandbox Code Playgroud)
在第三列中,我希望Excel写:
A
A
A
B
B
C
C
C
C
Run Code Online (Sandbox Code Playgroud)
(3 A因为A = 3的频率)
我很确定这可以通过在第三列中复制的单个公式来完成,但我不记得如何.有什么建议?
我的目标是收集包含"法国"和"德国"字样的所有推文,并收集相关的元数据(例如,附在推文上的地理坐标).我知道这个元数据是可用的,但我无法弄清楚如何使用我正在使用的Java库访问它:"twitter4j".
好吧,所以我到目前为止从twitter4j网站上的代码示例中获取.它打印出包含我所选关键字的所有推文,因为它们是由Twitter的Streaming API实时提供的.我在我的TwitterStream对象上调用filter方法,这提供了流.但我需要更多控制权.也就是说,我希望能够:
1)将推文写入文件; 2)只打印前1000条推文; 3)访问附加到推文的其他元数据(过滤方法只打印出用户名和推文本身).
这是我到目前为止的代码:
import twitter4j.FilterQuery;
import twitter4j.Status;
import twitter4j.StatusDeletionNotice;
import twitter4j.StatusListener;
import twitter4j.TwitterException;
import twitter4j.TwitterStream;
import twitter4j.TwitterStreamFactory;
import twitter4j.conf.ConfigurationBuilder;
public class Stream {
public static void main(String[] args) throws TwitterException {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true);
cb.setOAuthConsumerKey("bbb");
cb.setOAuthConsumerSecret("bbb");
cb.setOAuthAccessToken("bbb");
cb.setOAuthAccessTokenSecret("bbb");
TwitterStream twitterStream = new TwitterStreamFactory(cb.build()).getInstance();
StatusListener listener = new StatusListener() {
public void onStatus(Status status) {
System.out.println("@" + status.getUser().getScreenName() + " - " + status.getText());
}
public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {
System.out.println("Got a status deletion …Run Code Online (Sandbox Code Playgroud) 我对此非常困惑......这是我的代码摘录..
float m = 0.0, c = 0.0;
printf("toprightx = %d bottomrightx = %d toprighty = %d bottomrighty = %d\n",
toprightx, bottomrightx, toprighty, bottomrighty);
// find m and c for symmetry line
if (toprightx == bottomrightx) {
m = (-toprighty + bottomrighty);
}
else {
m = (-toprighty + bottomrighty) / (toprightx - bottomrightx);
}
c = -toprighty - (m * toprightx);
printf("m = %f and c = %f\n", m, c);
Run Code Online (Sandbox Code Playgroud)
这是输出:
toprightx = 241 bottomrightx = 279 toprighty = …Run Code Online (Sandbox Code Playgroud) 我从一项服务中收集完整的HTML,该服务提供对大量博客和新闻网站的访问.我正在检查HTML(实时),看它是否包含一些关键字.如果它包含其中一个关键字,我将HTML写入文本文件以存储它.
我想这样做一个星期.因此我收集了大量数据.测试程序3分钟产生100MB的文本文件.我有4 TB的空间,我不能使用超过这个.
此外,我不希望文本文件变得太大,因为我认为它们将变得不可打开.
我建议的是打开一个文本文件,并向其中写入HTML,经常检查它的大小.如果它变大,比方说200MB,我关闭文本文件并打开另一个.我还需要保存一个运行日志,记录我总共使用了多少空间,以便确保我不接近4 TB.
我现在的问题是如何在文件关闭之前检查文本文件的大小(使用FileWriter.close()).是否有这样的功能,还是应该计算写入文件的字符数并使用它来估算文件大小?
一个单独的问题:有没有办法减少文本文件占用的空间量?我在Java工作.
我正在构建一个标题和菜单中的网页.当我缩小或放大时,一些菜单项会跳到第二行,当它们要保持在一行上时.这种情况发生在Chrome中,但在Firefox中不会发生.
为了说明这一点,我拍了一段我的代码.以下HTML和CSS创建一个蓝色框,其中包含8个菜单项.当我在Firefox中放大或缩小时,无论我应用多少缩放,一行上总共有8个菜单项.但是,如果我在Chrome中多次缩小,有时最后一个菜单项会跳转到第二行.菜单项行相对于菜单框的宽度改变宽度(而在Firefox中,宽度的比例保持不变).
我认为理解我正在谈论的内容的最佳方式是在Chrome和Firefox中查看以下代码,并在两者中放大和缩小几次以查看会发生什么.
我希望Firefox中发生的事情能够在Chrome中复制.任何人都可以建议我如何实现这一目标?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Run Code Online (Sandbox Code Playgroud)
<head>
<style>
#header {
width: 1000px;
margin: 0 auto;
height: 96px;
position: relative;
background: blue;
}
#menu {
display: block;
position: absolute;
left: 119px;
}
#menu li {
display: block;
float: left;
padding: 0 8px 0 14px;
text-transform: uppercase;
letter-spacing: -1px;
font: 14px/27px Arial, Helvetica, sans-serif;
background-color: transparent;
}
</style>
</head>
<body>
<div id="header">
<div id="menu">
<ul>
<li>menu item 1</li>
<li>menu item 2</li>
<li>menu item 3</li>
<li>menu item …Run Code Online (Sandbox Code Playgroud) 在我们的新网站(购物网站)上,我们将使用Solr作为我们网站的搜索引擎.在Solr索引中,我们保留了产品ID的列表,以及每个产品的关键字列表.搜索查询是针对关键字完成的.
Solr返回产品ID列表.然后将这些id插入到MySQL查询中,以从数据库中选择所有产品数据.MySQL还处理结果的排序.例如,MySQL查询可能如下所示:
SELECT * FROM product WHERE id IN (1,4,42,32,46,...,39482) ORDER BY price ASC
Run Code Online (Sandbox Code Playgroud)
我们在网站上有大约100,000种产品.当有数千个结果时,此方法可以正常工作,但当有 - 例如 - 50,000个结果时,此方法会变慢.
我的假设是瓶颈是"WHERE IN"条款.长期解决方案是将所有产品数据移至Solr,以便它可以处理对结果进行排序,并将精细过滤器应用于搜索(例如,用户可能只想查看特定价格范围内的产品).但是,我们对Solr缺乏经验,需要进行短期修复才能实现.
一种选择是在短期内放弃Solr并将关键字存储在MySQL的表中,并使用FULL-TEXT搜索对其进行搜索.
我错过了其他选择吗?
假设我有一个时间戳,X.
使用PHP,我怎样才能找到代表X来自中午的时间戳?
我想我需要将X转换为日期,提取日期,然后将当天中午转换为时间戳.有没有一种简单的方法在PHP中执行此操作?
我对Java很新,因为我的帖子的性质会放弃
我需要创建一个包含一组方法的类,如果需要,可以由程序员轻松扩展.我想过有两节课:Commands和Command.Commands包含一个Command对象数组,是程序员可以添加新命令的地方.该Command课程有两个字段.类的名称和方法签名.我不确定如何做到这一点.在C中,我认为你可以有一个函数结构,那么我们可以有一个类,其中类的实例是方法吗?还是我完全走错了路?
我想过尝试做这样的事情:
public class Commands
{
private ArrayList<Command> commands;
/**
* Constructor for objects of class Command
*/
public Commands()
{
createCommands();
}
/**
* This is where a programmer can add new commands
*/
public void createCommands()
{
commands.add(new Command("move", public void move()));
}
/**
* This is where the programmer can define the move command
*/
public void move()
{
....
}
}
public class Command
{ …Run Code Online (Sandbox Code Playgroud) 假设我有一个大型列表(大约10,000个条目)的字符串三元组:
car noun yes
dog noun no
effect noun yes
effect verb no
Run Code Online (Sandbox Code Playgroud)
假设我出现了一个双字符串 - 例如,(效果,动词) - 我需要快速查看列表以查看该对是否出现,如果出现,则其值是"是"还是"否".(对于此示例,双重确实出现,值为"no".)
Java中存储列表的最佳数据结构是什么,以及执行搜索的最有效方法是什么?我正在运行成千上万的搜索,因此速度至关重要.
谢谢!
我对strncpy有困难.我试图将一个包含8个字符的字符串分成两个字符串(一个子字符串中的前6个字符,然后是另一个字符串中的剩余2个字符).为了说明特殊的困难,我将代码简化为以下内容:
include stdio.h
include stdlib.h
include string.h
define MAXSIZE 100
struct word {
char string[8];
char sub1[2];
char sub2[6];
};
typedef struct word Word;
int main(void)
{
Word* p;
p=(Word*)malloc(MAXSIZE*sizeof(Word));
if (p==NULL) {
fprintf(stderr,"not enough memory");
return 0;
}
printf("Enter an 8-character string: \n");
scanf("%s",p->string);
strncpy(p->sub2,p->string,6);
strncpy(p->sub1,p->string,2);
printf("string=%s\n",p->string);
printf("sub1=%s\n",p->sub1);
printf("sub2=%s\n",p->sub2);
free(p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
提示用户输入.假设他们输入"12345678".那么程序的输出是:
string=1234567812123456
sub1=12123456
sub2=123456
Run Code Online (Sandbox Code Playgroud)
我期待的输出如下:
string=12345678
sub1=12
sub2=123456
Run Code Online (Sandbox Code Playgroud)
我不明白strncpy似乎是如何将数字附加到字符串上...显然我不太了解strncpy,但有人可以向我解释发生了什么吗?
java ×4
c ×1
c++ ×1
class ×1
css ×1
excel ×1
excel-2007 ×1
field ×1
file ×1
file-writing ×1
filewriter ×1
firefox ×1
geometry ×1
html ×1
integer ×1
math ×1
methods ×1
mysql ×1
object ×1
opencv ×1
php ×1
rotation ×1
search ×1
solr ×1
sorting ×1
string ×1
strncpy ×1
translation ×1
twitter ×1
twitter4j ×1
types ×1