p*****2 发帖数: 21240 | 1
object test6 extends App {
val sc=new Scanner(System.in)
val n=sc.nextInt
val m=sc.nextInt
val mat=new Array[String](n)
val start=System.currentTimeMillis()
for(i<-0 until n) mat(i)=sc.next()
def check(i:Int, j:Int, k:Int, l:Int):Boolean={
val minX=math.min(i,k)
val maxX=math.max(i,k)
val minY=math.min(j,l)
val maxY=math.max(j,l)
var minR=true
var maxR=true
var minC=true
var maxC=true
... 阅读全帖 |
|
d***n 发帖数: 65 | 2 第八题, 贴个时间O(n),空间O(1)的,试了前面提到的所有test case。貌似全都正确
。整个数组只需扫描一遍。
int floodFill(int B[], int n)
{
int w = 0;
int i = 0, j = n;
int maxL = 0, maxR = 0;
while(i
{
while(B[i]<=max(maxL, maxR) && i
{
if(B[i]>maxL)
maxL = B[i];
else
w +=maxL - B[i];
i++;
}
if(i==j) break;
maxL = B[i];//found new high
while(B[--j]
{
if(B[j]>maxR)
... 阅读全帖 |
|
d***n 发帖数: 65 | 3 第八题, 贴个时间O(n),空间O(1)的,试了前面提到的所有test case。貌似全都正确
。整个数组只需扫描一遍。
int floodFill(int B[], int n)
{
int w = 0;
int i = 0, j = n;
int maxL = 0, maxR = 0;
while(i
{
while(B[i]<=max(maxL, maxR) && i
{
if(B[i]>maxL)
maxL = B[i];
else
w +=maxL - B[i];
i++;
}
if(i==j) break;
maxL = B[i];//found new high
while(B[--j]
{
if(B[j]>maxR)
... 阅读全帖 |
|
w***o 发帖数: 109 | 4 这解法是O(n),空间是O(1):
大概的意思就是用左右两个指针,比较两个指针所指的值,从小的那个往中间移,移的
过程中要么增加maxL(或者maxR),要么tap water。直道两个指针相遇,其实两个相
遇在最大值。
if (bars == null || bars.length <= 2)
return 0;
int area = 0;
int l = 1, r = bars.length - 2;
int maxL = bars[0], maxR = bars[bars.length - 1];
while(l <= r)
{
if (maxL <= maxR)
{
if (bars[l] < maxL)
area += maxL - bars[l];
else
maxL = bars[l];
l++;
}
else
{
if (bars[r] < maxR)
area += maxR - bar... 阅读全帖 |
|
B*Q 发帖数: 25729 | 5 【 以下文字转载自 USANews 讨论区 】
发信人: BCQ (不差钱), 信区: USANews
标 题: 最合理的税收公式
发信站: BBS 未名空间站 (Sat Mar 26 14:24:24 2016, 美东)
首先,取消一切deduction,最多保留一些按人头的exemption
第二,对所有收入,一视同仁
最后,按以下公式
min is the tax free income
maxr is the maximum rate
public class SocialismTax {
public static double computeTax(
double income, double min,
double maxr, double a, double b) {
if (income <= min) return 0;
double x = income - min;
double r = a + b * x;
if (r > maxr) r = maxr;
return r * x;
}
... 阅读全帖 |
|
B*Q 发帖数: 25729 | 6 首先,取消一切deduction,最多保留一些按人头的exemption
第二,对所有收入,一视同仁
最后,按以下公式
min is the tax free income
maxr is the maximum rate
public class SocialismTax {
public static double computeTax(
double income, double min,
double maxr, double a, double b) {
if (income <= min) return 0;
double x = income - min;
double r = a + b * x;
if (r > maxr) r = maxr;
return r * x;
}
@Override
public String toString() {
System.out.println("社会主义万岁");
}
} |
|
B*Q 发帖数: 25729 | 7 首先,取消一切deduction,最多保留一些按人头的exemption
第二,对所有收入,一视同仁
最后,按以下公式
min is the tax free income
maxr is the maximum rate
public class SocialismTax {
public static double computeTax(
double income, double min,
double maxr, double a, double b) {
if (a <= 0 || b <= 0) {
throw new Exception("打倒资本家的乏走狗!");
}
if (income <= min) return 0;
double x = income - min;
double r = a + b * x;
if (r > maxr) r = maxr;
return r * x;
}
@Override
public String toString()... 阅读全帖 |
|
b***e 发帖数: 1419 | 8 /*
Transform the array:
1 -> -1
0 -> 1
Then find max sum for substring (consecutive).
Spent 10 min coding and 2 min posting.
*/
var LR = function(a) {
for (var i = 0; i < a.length; i++) {
a[i] = a[i]? -1: 1;
}
console.log(a);
var L = a.length - 1;
var R = L;
var maxL = L;
var maxR = R;
var maxI = a[L];
var max = maxI;
for (var i = a.length - 2; i >= 0; i--) {
L = i;
if (maxI > 0) {
maxI += a[i];
} else {
R = L;
... 阅读全帖 |
|
B*Q 发帖数: 25729 | 9 公平的哼
倒是富人要吓死了吧
加大maxr 和 b |
|
r***h 发帖数: 65 | 10 我是从国内来的访问学者,准备在IUPUI大学待一年,预计今年11月27日到。希望得
到各
位的帮助,提供一些合租房的信息,或刚好有房出租,更好。
本人:女性、近四十、无不良嗜好、容易与人相处。要求房子有基本
家具(床、桌、椅),位置在校内或距离校园两三英里左右,预算500以下或左右。
若有相关信息,请联系m**[email protected]
多谢帮助! |
|