由买买提看人间百态

topics

全部话题 - 话题: 数组
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
a*******3
发帖数: 13
1
updates A so that if x appears m times in A, it appears exactly min(2,m)
times in A.
这题意思不应该是如果一个数在数组里面正好出现了m次,才把这个数的出现次数调整
为min(2.,m)么?如果这个数出现次数不等于m次不应该全部保留下来么?
还是说我理解有问题。。?
t***t
发帖数: 6066
2
来自主题: JobHunting版 - 找数组的最大质数
这个跟数组元素个数和最大值都有关。
假设n个数,最大数是m,求最大质数肯定跟n,m都有关。
w********8
发帖数: 55
3
来自主题: JobHunting版 - 请教一道面试题,跟数组排序有关
数组排序, 排成 a1a3a5。。。这种形式。
想了半天,没想到比O(n^2)更好的算法。
请教大牛们。
A****0
发帖数: 1073
4
来自主题: JobHunting版 - 请教一道面试题,跟数组排序有关
这题我感觉有个陷阱——Duplicates,当duplicate数超过数组长度一半时无解。
而且有duplicate时只有sort的办法最好,其他好些办法都不行。
m*****a
发帖数: 1203
5
来自主题: JobHunting版 - 请问 如何找无序数组里第2大的数
你把数组撸两遍不就行了么??
k***g
发帖数: 166
6
自己想出来的,就假设数组们都是已排序了的吧
比如
A: 1,3,5,7,9,11,20
B: 2,3,5,7,10,11,100
C: 0,3,4,7,12,28,90
则返回A,B,因为他们之间有4个元素相同
i********c
发帖数: 306
7
整数和小数分别用数组表示, 寻找所有的组合满足A(x)*B(y)>A(x)+B(y)
请问大家能给个解决方法吗?有没有网上链接?
谢谢!
m******0
发帖数: 222
8
如题,数组中都是正数且为unique number,找出两个数A、B,so that A-B = 一个给
定的数C。要求使用常数空间(so hash map不能用)、O(N)时间。请问这个题有什么思
路吗?
e*********5
发帖数: 137
9
似乎行得通,不需要显示存镜像数组。 保存两个index i,j>=0, i对应的是B, j对应
的是A。i,j初始都是n-1, n-1。num[j]-num[i]=A-B. 如果num[j]-num[i]>target, j-
-; 如果num[j]-num[i]
c******e
发帖数: 26
10
这个方法可以么?
//假设数组排序了,而且都是unique的
bool func(int A[], int n, int k ){
unordered_set s;
//都insert 到set里面去
for(int i = 0; i < n; i++){
s.insert(A[i]);
}
for(int i = 0; i < n; i++){
if(s.find(A[i]+k)!=s.end()){
return true;
}
}
return false;
}
c******t
发帖数: 391
11
在别人面经里看到下面一道题,
Given a character array with space separated words, how to sort the words in
place?
For example:
input: char[] = {'c','a', 't', ' ', ,'d', 'o', 'g', ' ', 'b', 'o', 'y'};
output: result: {'b', 'o', 'y', ' ', 'c', 'a', 't', ' ', 'd','o', 'g'}
目前能想到的解法就是把数组split成单词String,写一个comparator排序之,再存入
另一个result char array,但这样就不是in-place了。。。
求教...
t*********3
发帖数: 87
12
Leetcode的Best Time to Buy and Sell Stock IV 那道题,我看到网上的答案就改了
下来:
请注意看定义数组local和global的那两行。如果按照int a[n]的方式定义,leetcode
能编译但是输出错误。请问这是为什么?
class Solution {
public:
int maxProfit(int k, vector& prices) {
int days = prices.size();
if(days == 0) return 0;
if(k >= days/2) return maxProfitUnlimitedTimes(prices);
//int local[days][k+1] = {0}; //-> Compile OK but run error, if I
define the array in this way. Why?
//int global[days][k+1] = {0};
vecto... 阅读全帖
n*****n
发帖数: 5277
13
c/c++里数组长度只能是常数,不能是变量
t*********3
发帖数: 87
14
确实是初始化的问题,加了memset就行了。我原以为 int local[days][k+1] = {0}
就可以把数组初始化为0,但是GDB之后发现不行。
t*********3
发帖数: 87
15
你发的网页里的东西我能读懂,我自己也写过*p那种动态数组resize,就是满了就乘以
2。
但是我还是不理解为什么你的回答和我的问题相关:
int local[days][k+1] = {0}; //-> Compile OK but run error, if I
define the array in this way. Why?

它的
n******n
发帖数: 12088
16
你为何要坚持用变长数组呢?用向量简单有效。

initialized
l*********8
发帖数: 4642
17
可以的。
你的local,global数组要用memset初始化为0.
试试行不行。

leetcode
A*******e
发帖数: 2419
18
来自主题: JobHunting版 - LC: 两个排序数组找中数
思路不难,但写起来怎么还有点麻烦?比如如何简洁地处理某个数组只有一个元素?
LC上贴出的答案可读性都不太好啊。
k***g
发帖数: 166
19
比如大小为12的数组,尽可能平均地分成5份,输出各个端点
[0 1] [2 3 4] [5 6] [7 8 9] [10 11] 是一种分法,于是 foo(12, 5)的输出是:
0 1
2 3 4
5 6
7 8 9
10 11
代码要怎么写呢?(尽可能平均即可,不一定非要按照上面的分法)

发帖数: 1
20
来自主题: JobHunting版 - 问一个怎么存很大两维数组
两维数组,如果很大,1billion * 1billion,怎么存。答分块,然后存到不同的机器
上,用上下左右,来存周边的机器。然后估算要多少台机器,答如果每个数4bytes,4g
的机器,则需要1billion的机器。1billion机器太多,问怎么办,答假如array 是
sparse 的话,可以压缩。面试官说所有的数都不重复。那怎么办,我说能不能给个提
示,他说增加内存到8g,我说那还需要半个billion机器。感觉他最后只是在糊弄。请
问大家这个怎么答。
k***g
发帖数: 166
21
有两个大小相同的整数数组A,B
排序B使得sum(|A[i]-B[i]|)最小
怎么做?
h*******o
发帖数: 778
22
用空间换时间,用一个256数组存一下每个byte比特位数。
z*********n
发帖数: 1451
23
来自主题: JobHunting版 - 问个数组相关的题
这是面试题吗?还是实际工程问题?
单纯追求更高速度,只能牺牲空间。
基于这个前提:“同一个data,findIndices会被执行多次”
最简单暴力的办法:
提前预处理计算好所有两两组合的结果,你的例子里,
预处理完后,应该有一项长成这样:
[100, 157] - [0,3,5,7]
至于输入的(100, 200)怎么map到[100,157],这个trivial吧。
这样的话预处理大概是n^3logn的时间,查询是logn的。
上面做法空间大小是 unique(A)^2*n (~=O(n^3)),按lz的数据规模,大了点
那就只能考虑牺牲查询时间,节约空间和欲处理时间:
考虑建个segment tree吧(按你的例子):
[100, 300, 25, 123, 3, 157, 9, 103, 304]
排序后:
[3, 9, 25, 100, 103, 123, 157, 300, 304]
把上面这个数组建成segment tree,每个节点存对应range的坐标集合
类似:
(3...304)
[0,1,2,...,... 阅读全帖
b*******c
发帖数: 77
24
来自主题: BuildingWeb版 - PHP _POST 传递数组问题
试出来了
需要加个传递数组的语句
echo '

order processed.

';
$find=$_POST['find'];(这句)
echo $find[0];
?>
f*****p
发帖数: 235
25
int main ()
{
int i, j;
int a[i][j];
...
}
试了一下,似乎是在栈里,所以i,j不能太大。
但是如果用 int *ap = malloc(sizeof(int)*i*j), 二维数组没法按index访问
很不爽啊。
n****n
发帖数: 101
26
如果说一个heap只要求任一节点i不大于其两个子节点2i、节点2i+1,那么,一个已经
排好序的数组,就是一个heap?
q*******i
发帖数: 353
27
是不是数组整个的传递只能是地址传递,没有办法改成值传递的?
q*******i
发帖数: 353
28
那如果要copy值只能用for 循环来一个个copy吗?比如数组10000维这样是不是效率很
低啊?
a*****n
发帖数: 574
29
求牛人帮忙看一看如何用java数组实现输入0-50地任意整数并计算每项输入数据出现
次数。 多谢了。
g*****g
发帖数: 34805
30
设个51长度的数组,上那么多个计数器,完了。
m*****g
发帖数: 226
l********a
发帖数: 1154
32
每个元素还带有一个属性,要随着元素移动
要么struct,要么2个数组,一个放属性,一个放元素
p*******a
发帖数: 15
33
来自主题: Java版 - 如何复制一个二维数组?
例如有个二维数组 int[][] a,和int[][] b,两者同样大小
可以用System.arraycopy(a,0,b,0,xxx)吗?
q***s
发帖数: 2243
34
来自主题: Java版 - 如何定义这样的数组?
数组的元素是LinkedList
要求是没有警告!
LinkedList[] var = new LinkedList[]
不行
多谢
s**********4
发帖数: 3
35
来自主题: Java版 - 问个数组问题
之前都用C++,对于java的一个简单问题卡住了,求教:
比如说我要实现一个关于数组的函数,有如下两行代码:
char str[] = {'a', 'b', 'c', 'd', 'e'};
removeDup(str);
这时运行会报错out of boundary。但是如果在str[]里面加上数字又不对。那么怎样才
能让程序运行呢?非常感谢:)
l*******g
发帖数: 82
36
来自主题: Java版 - java如何keep大数组在内存中?
做个singleton的class,里面放这个array。

比如说,内存里有个very big array of integers. 开始用这个array的时候还好,但
如果有很长一段时间不reference这个数组了,貌似操作系统自动的........
b******y
发帖数: 9224
37
来自主题: Java版 - java如何keep大数组在内存中?

不是singleton不singleton能解决的。是说,这个array太大了,jvm/operating
system会自动的放到disk去,如果数组很长时间没有被access话。
b******y
发帖数: 9224
38
来自主题: Java版 - java如何keep大数组在内存中?

context上面解释了一下。stackoverflow我在这里提问题之前已经去看过了,基本上大
家说的就是c里面可用mlock, 但java是无法将大数组保持在内存里的。有个办法就是用
个程序不断的去调用它,这样trick操作系统认为内存是不断被使用的,就不会自动的
把地方腾出来。
总之,想听听这里的大牛们的意见和建议。
另外,直接用C, 也不是说就可以保证物理内存是给你用的。因为有操作系统的这一个
layer. 如果你不用mlock来lock住内存的话,普通C programming照样避免不了操作系
统的"任意胡为".
也许这个就是现代编程的缺陷吧,你无法了解也无法掌控太低层的东西。
x****d
发帖数: 1766
39
来自主题: Java版 - java如何keep大数组在内存中?
我不太理解你们的流程,怎么走到这步的?我的理解,公司里干事,没有百分百的证据
说是你数组的写法不对,都不会让你考虑这么解决这个问题。加ram有多难?让程序员
改code够买n多ram了。
O*******d
发帖数: 20343
40
来自主题: Programming版 - 关于C的数组大小
stack overflow. 你的数组太大了. 改成new或malloc.
t***l
发帖数: 533
41
来自主题: Programming版 - VC 中如何修改默认的数组大小?
运行的时候遇到这样的错误:
an unhandled exception of type system.StackOverflowException
我觉得可能是我有几个四维的数组开大了。。
如何在VC 2005的编译环境中修改参数,使得程序能运行?
(以前visual fortran中就是修改默认的参数就可以了)
谢谢
n*****e
发帖数: 17
42
下面程序中的数组c和S用到了负数维数,请问它是怎么实现的?
谢谢!
double CRRTrinomialTree::buildTrinomialTreeCRRAmerican(double price,
double strike,
double vol, double rate, double div, double T, long N, char type)
{
int i, j;
double pd; // down probability
double pm; // middle probability
double pu; // up probability
double S[250][250]; // stock price at node i, j
double c[250][250]; // call price at node i,j
double up = 0.0; // up movement
double down =0.0; // down movement
double dt = T/N; // time step
double drift = rate
g******o
发帖数: 143
43
来自主题: Programming版 - perl二维数组一问
二维数组来存个martix
如何表示一行内的所有元素, 比如说求所有首下标是1的元素的平均值?
有没有 @array[1][i] 之类的写法?
thanks
g*****g
发帖数: 34805
44
来自主题: Programming版 - 数组定义的时候,分配空间了么?
又不知道数组多大,怎么分配空间呢。就是分配一个指针罢了。
j*****k
发帖数: 1198
45
来自主题: Programming版 - 问个多维数组参数传递的问题
比如二维数组。静态的就不能用**传给function.动态的就可以。why?
w****h
发帖数: 212
46
来自主题: Programming版 - C#如何产生指数分布的数组
比如matlab可以用exprnd函数产生一个数组,里面元素按照指数分布于一个区间。
那么C#有这种函数吗?如果没有,该如何实现呢
k*k
发帖数: 508
47
假设你有 flow1,flow2, flow3... flowN.
double[][] flow_ = new double[N][];
flow_[0] 就是一个一维的 double 数组,flow_[i] 跟 flow_[j]
的长度可以不同。
w****h
发帖数: 212
48
数组长度是可以看作固定已知的,
所以不需要vector吧,那种动态分配长度空间
W***i
发帖数: 9134
49
来自主题: Programming版 - 数组如何实现???
如果要写一个程序语言,数组该如何实现呢? 编译原理都不记得了。。。
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)