小编Rob*_*ker的帖子

O(nlogn)算法 - 在二进制字符串中找到三个均匀间隔的算法

我昨天在算法测试中遇到了这个问题,我无法找到答案.它让我绝对疯狂,因为它值得大约40分.我认为大多数课程都没有正确解决,因为我在过去24小时内没有提出解决方案.

给定长度为n的任意二进制字符串,如果存在,则在字符串中找到三个均匀间隔的字符串.编写一个在O(n*log(n))时间内解决此问题的算法.

所以像这样的字符串有三个"均匀间隔"的字符串:11100000,0100100100

编辑:这是一个随机数,所以它应该可以适用于任何数字.我给出的例子是为了说明"均匀间隔"的属性.所以1001011是一个有效的数字.1,4和7是均匀间隔的.

algorithm big-o

173
推荐指数
4
解决办法
2万
查看次数

Android发送大量短信

我有一个应用程序,它将大量的SMS消息发送到中央服务器.每个用户可能会发送~300 txts /天.SMS消息被用作网络层,因为SMS几乎无处不在,而移动互联网则不是.该应用程序适用于许多移动互联网无处不在的第三世界国家.

当我达到100条消息的限制时,我会收到每条消息的提示.提示"正在发送大量SMS消息".每次询问应用程序是否可以发送短信时,用户都不会收到提示.用户不希望获得30个连续提示.

我发现这个Android源文件与谷歌.它可能已经过时了,我无法分辨.对于每个应用程序,每3600000毫秒(1天)看起来有100个sms消息的限制.

http://www.netmite.com/android/mydroid/frameworks/base/telephony/java/com/android/internal/telephony/gsm/SMSDispatcher.java

/** Default checking period for SMS sent without uesr permit */
private static final int DEFAULT_SMS_CHECK_PERIOD = 3600000;

/** Default number of SMS sent in checking period without uesr permit */
private static final int DEFAULT_SMS_MAX_ALLOWED = 100;
Run Code Online (Sandbox Code Playgroud)

/**
 *  Implement the per-application based SMS control, which only allows
 *  a limit on the number of SMS/MMS messages an app can send in checking
 *  period.
 */
private class SmsCounter {
    private int …
Run Code Online (Sandbox Code Playgroud)

sms android

20
推荐指数
1
解决办法
3万
查看次数

Android LocationManager.getLastKnownLocation()返回null

所以我试图在应用程序中只对一次gps坐标进行采样.我不想创建一个LocationListener对象来不断获取gps更新.我想等到收到坐标,然后继续进行另一项任务.

这是一段代码片段

LocationManager lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
Criteria crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_FINE);
String provider = lm.getBestProvider(crit, true);
Location loc = lm.getLastKnownLocation(provider);
Run Code Online (Sandbox Code Playgroud)

loc变量在模拟器中始终为null.我尝试使用命令"geo fix latitude longitude"来设置它,我也尝试使用DDMS设置它.这两种方法都没有对代码产生任何影响.该片段也没有引起任何异常.

谢谢你的帮助.

gps android

17
推荐指数
1
解决办法
7万
查看次数

标签 统计

android ×2

algorithm ×1

big-o ×1

gps ×1

sms ×1