l*********8 发帖数: 4642 | 1 int next = (current+k)%N;
can be replaced by:
int next = current+k;
if (next>N)
next -= N;
And you're right, for integer array, this algorithm is not necessarily
faster than leetcode's algorithm.
But I think it's faster for object array because it needs less object move. |
|
c**********e 发帖数: 2007 | 2 It only works on array on stack? I got 1 regardless I use new or malloc for
array on heap. |
|
t****e 发帖数: 463 | 3 可以是 sizeof array/sizeof array[0] |
|
h*****f 发帖数: 248 | 4 as others mentioned, there is no way unless the array is on the stack.
that's why you see a lot of function declaration like void foo(int* array,
size_t length). |
|
b***i 发帖数: 3043 | 5 1
type* arr=new type[size];
cout <
结果取决于type的大小 (sizeof(arr[0])),和系统的指针的大小 type*的大小。
比如64位系统,int* arr=new int[10];
sizeof(arr)/sizeof(arr[0])=2,因为指针是8bytes,int是4bytes
再比如32位系统, double* arr=new double[10];
sizeof(arr)/sizeof(arr[0])=0.5也就是显示0(取整)
2
不光stack上,static变量也可以算sizeof。
3
用引用可以保留size,但是不多此一举吗?
void foo(int (&array)[10]) {
std::cout << sizeof(array) << "\n";
}
4
int* arr = new int[10];之后,arr是一个指针。
而int arr[10]是数组,static int arr[10]也是数组,这两个在编译的时候就知道大
小,... 阅读全帖 |
|
k*******r 发帖数: 355 | 6 求两个sorted array合并后的median这题,我知道网上有答案可以在log(min(m,n))时间复杂度内做完,就是不断比较两个array各自的中位数缩小范围,但具体写代码也太琐碎了吧。
主要是数组元素为奇数和偶数时,中位数定义不同,对一短一长两个数组,就得分别考虑奇奇,奇偶,偶奇,偶偶4种情况,每种里面比较中位数大小又是3种可能....
有没有比较clean的代码,在30行代码左右能搞定这题的。(我觉得太长的代码,白板也很难写对阿) |
|
c*******a 发帖数: 35 | 7 从每个array里每次读一个数出来,建立一个min heap,每次取出heap的root,也就是
最小的,从这个root元素所在的array再取下一个元素,插入到heap中,直到找到第kth
个数。因此heap总是保持32个元素。 |
|
c****g 发帖数: 85 | 8 Question: Find the k-th Smallest Element in the Union of Two Sorted Arrays
Given two sorted arrays A, B of size m and n respectively. Find the k-th
smallest element in the union of A and B. You can assume that there are no
duplicate elements.
http://www.leetcode.com/2011/01/find-k-th-smallest-element-in-u
如果A组划k/2,B组划k/2来比较。为方便解释,这里先假设k为偶数,并且m,n>k/2.
如果不满足这些条件,在计算index的时候,会考虑这些情况。
if A[k/2 - 1] == B[k/2 -1] done.
if A[k/2 - 1] > B[k/2 -1]
那么在A[k/2 + 1 - k] 和 B[0 k/2 - 1] 里取k/2 smallest number。
... 阅读全帖 |
|
w****x 发帖数: 2483 | 9 对阿, median of 2 sorted array 就是kth element of two sorted array的变体,
后者简洁多了, 但是收敛速度不一样啊 |
|
w****x 发帖数: 2483 | 10 对阿, median of 2 sorted array 就是kth element of two sorted array的变体,
后者简洁多了, 但是收敛速度不一样啊 |
|
s******e 发帖数: 108 | 11 give array of 2*n integers A,
partition it into two array of n element(A1,A2),
make their sum closest to each other(min | sum A1 - sum A2 | ) |
|
s******e 发帖数: 108 | 12 Implement an array on ints which supports
1) void lookup(int idx) : value stored at idx, in amortized O(1) time.
2) void append(int value) : adds a value at the end of the array, in
amortized
O(1) time.
3) void set(int idx, int val) : sets the value at idx to val. if idx >
length
, throws an error. Complexity amortized O(1) time.
4) int GetFirstMaxIndex(int val): Gets the first index such that the element
at the idx is > val. Complexity O(logn).
ex [2, 10,5,6,80]
input : 6 output : 10
input :20 ... 阅读全帖 |
|
f*******4 发帖数: 64 | 13 Given two sorted integer arrays A and B, merge B into A as one sorted array.
Note:
You may assume that A has enough space to hold additional elements from B.
The number of elements initialized in A and B are m and n respectively.
Note里说,A有额外空间,用来合并。
但我觉得必须额外开一个m的空间,除了A[m+n]外,放一些需要swap的变量。
这题最小的空间复杂度能到多少? |
|
r*****e 发帖数: 146 | 14 We have K sorted array, A1, A2, A3,... Ak, the corresponding size for array
Ai is Ni, in total we have N numbers, N = N1 + N2 + ...+Nk. How to find the
median among N numbers in O(K (logN)^2) ? |
|
r*****e 发帖数: 146 | 15 先赞一个深夜回复。。。
确实应该是median of median.不断丢掉当前一半规模的数据。递归log(N/K)次,因为
最后K个array中,每个array只剩下1个,一共是从总数的N减到K。
问题是,K应该是个不太大,也不太小的数,所以KlogK logN 是不是近似到KlogN?
现在脑子正糊涂。。。 |
|
r*****e 发帖数: 146 | 16 不会啊,上来请教一下。
Given an unsorted array, how to divide them into two equal arrays whose
difference of sum is minimum in O(n) time? |
|
d*******y 发帖数: 31 | 17 一个array size n, element from 1 ~ n-1, 不确定有多少个duplicate,怎样用O(n)
的时间和 O(1)的空间来找出duplicate的元素。可以修改array
有人用这种code,这个是O(n)的复杂度吗?怎么分析呢?
for 1 <= i <= n:
while A[i] ≠ i:
if A[A[i]] = A[i]: return A[i]
swap(A[A[i]], A[i]) |
|
a******3 发帖数: 113 | 18 定义了一个
val map = new ConcurrentSkipListMap[Key, Value]()
因为要实现多线程,需要重写他的iterator
我的代码如下
def keyIterator: Iterator[Key] = new Iterator[Key] {
val newMap=getMapClone
var set=newMap.keySet()
var pos = 0
def hasNext = pos < newMap.size()
def next: Key = { val z = array(pos) ; pos += 1 ; z }
}
[error] found : Int
[error] required: Key
array(pos)这方法貌似是通过key去访问,但是我想通过index去访问这个set,该怎么
写呢?或者有什么办法可以iterate这个map的key集合吗
本人新手,无奈网上找不到,求各位不吝赐教 |
|
o****d 发帖数: 2835 | 19 maintain a heap of size N, insert all first elements of arrays.
each time, extract the largest one and insert the next element in the same
array
time complexity O(K logN)
any better solution? |
|
c*******r 发帖数: 309 | 20 还是没搞懂。如果是N个sorted array...是应该建大小为k的max heap么? 然后每个
array的指针往heap里insert,都和root比,如果比root大的话就更换 |
|
c*******r 发帖数: 309 | 21 还是没搞懂。如果是N个sorted array...是应该建大小为k的max heap么? 然后每个
array的指针往heap里insert,都和root比,如果比root大的话就更换 |
|
i******t 发帖数: 22541 | 22 好象是 kth of two sorted arrays
容易些
median of two sorted arrays 剧难 具难。。。。。。。。 |
|
l*******0 发帖数: 63 | 23 想出两种思路,都是O(N)的time复杂度。请看注释。
public class HelloWorld{
//Idea:put every element into its right position. which means input[i]
is placed at input[i]-1. Then if input[i]==0, then i+1 is one missing
number.
//this approach modifies the original array.
//O(N) time
public static void printMissing(int[] input){
for(int i=0;i
while(i+1
swap(input, i, input[i]-1);
}
... 阅读全帖 |
|
|
W***o 发帖数: 6519 | 25 【 以下文字转载自 Programming 讨论区 】
发信人: Wardo (Wardo), 信区: Programming
标 题: Java 问题,请教如何找出一个array里的duplicate segments?
发信站: BBS 未名空间站 (Sat Sep 14 00:11:22 2013, 美东)
比如我有一个这样的array {1, 2, 3, 3, 3, 3, 5, 6, 8, 8, 8, 8, 8, 9, 9, 9, 9}
,我希望找出里面的duplicate segment {3, 3, 3, 3} {8, 8, 8, 8, 8} {9, 9, 9, 9}
我的想法是用两个指针i,j。i 初始化在index 0, j 在 N - 1最后一个index. 保持i不
懂,用j从用往左扫描,如果没找到,让j停在i + 1的位置,然后increment i to i+1,
j to N-1. 如此反复,如果j找到了一个duplicate segment的最右端, 此时test[i] =
= test[j] true,这个时候打印出这个segment. 然后increm... 阅读全帖 |
|
s********x 发帖数: 914 | 26 那我写一下吧
public static int findKthSmallestElementInTwoSortedArrays(int[] a, int i
, int m, int[] b, int j,
int n, int k) {
validate(a, b);
if ( m > n) {
return findKthSmallestElementInTwoSortedArrays(b, j, n, a, i, m
,k);
} // now m <= n
// Boundary check
if (k > m + n) {
throw new IllegalArgumentException("k is too big");
} else if (k <= m) {
// cut two arrays to be both of size k b... 阅读全帖 |
|
i*********n 发帖数: 58 | 27 有一个stream of arrays,要求所有的common elements in last K arrays?
这里关键的是用什么数据结构? |
|
S*******C 发帖数: 822 | 28 Array Length encoding: 给定binary数组(比如[1010]), 计算每个digit数量, 返回这
种形式([11011101]).
写到一半, 小哥说你再写代码么,我这里没显示, 后来复制+刷新+粘贴搞定(
collabedit的bug),虚惊一场. 期间讨论比较多,比如array resizing(后来用了
ArrayList), input的边界条件等, lz拙计的听力, 一路pardon过来......
follow up: 怎么设计testcase, 我说random生成0,1, 又问怎么知道输出是对的?这
里纠结了好久,一开始以为要再写一种方法判断正确性. 后来发现小哥的意思是random
生成的input如何通过output判断是不是正确的,我说生成好以后存起来或打出来,然
后和output对照, 小哥说make sense.(lz感觉这里好像是领会错意思了,还浪费了不少
时间, 求问大家这里小哥到底想问什么。。。) |
|
c***u 发帖数: 4107 | 29 请教一下
Rotate an array of n elements to the right by k steps.
For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [
5,6,7,1,2,3,4].
2-element [1,2], 如何右移3位?
Thanks |
|
c******e 发帖数: 40 | 30 今天电面被问到一个问题:
如果hash出来的结果,hash code(一个int) 超过array的size怎么办。因为32bit系
统上array最大就2^32个,hash code如果超过这个size,怎么处理?
我立马就晕了。。。
请各位大牛指点一下,难道这个不是在设计hash function的时候就要处理吗?hash
function不是根据处理的element的type,设计出来吗?int, float, string 类型的
hash function都不一样吧 |
|
|
w********e 发帖数: 69 | 32 听说full-array LED比edgelit图像质量要好,区别大吗?
请问samsung 有那些型号是full-array LED?想买55寸的。samsung的主页似乎也没有
说明。 |
|
w*****0 发帖数: 3349 | 33 【 以下文字转载自 Life_in_NewMexico 俱乐部 】
发信人: water00 (Water), 信区: Life_in_NewMexico
标 题: 一个值得去的地方 - Very Large Array
发信站: BBS 未名空间站 (Tue May 1 21:09:57 2012, 美东)
Very Large Array又叫美国国家射电天文台。在Socorro的西边大概60mile左右的地方。
在一片荒漠中,突然几十个巨型天线阵平地而起,非常壮观。
很多电影也在这里拍摄,呵呵,那里的留言本上也有比如外星人这类的搞笑留言。
有兴趣的看看这个介绍。从ABQ过去大概需要两个小时车程。
http://en.wikipedia.org/wiki/Very_Large_Array |
|
s*****w 发帖数: 1527 | 34 【 以下文字转载自 Programming 讨论区 】
发信人: somehow (淡泊明志,宁静致远), 信区: Programming
标 题: Array Find() method doesn't exist in Visual c# 2010 express ?
发信站: BBS 未名空间站 (Sun Jan 9 09:38:14 2011, 美东)
assume i have a array {0, 5, 2, -1, 3, 6}
want to find the index for 2,
how to do it pls ? |
|
w********6 发帖数: 12977 | 35 【 以下文字转载自 Cycling 讨论区 】
发信人: wolfstar76 (Walk with the Earth Mother.), 信区: Cycling
标 题: SI Ballistic M Frame® Strike Array 80刀
发信站: BBS 未名空间站 (Thu Dec 6 13:54:05 2012, 美东)
Oakley Vault 有SI Ballistic M Frame® Strike Array 80刀,这个对于亚洲人
很合适,两片镜片,很推荐,和radar path很像 |
|
y*b 发帖数: 3190 | 36 (SR3) Sony A6xxx/a7xxxx has a new backlit sensor and RGBW pixel array.
"A new source shared some more details about the soon to be announced new
Sony E-mount camera.
1) Sony is preparing the next step in video quality and experience
2) This is an interchangeable lens camera with
– Best in class low light performance (backlit sensor and RGBW pixel array)
– internal 4k video recording with full sensor readout in 60fps
– extremly fast autofocus system" |
|
c*o 发帖数: 70 | 37 I know how to do it programatically. But it is hard to put array of controls
in an existing table layout. I am thinking using the previous VB way, drag
and drop control arrays on to a form,and differentiate them by index. The
should be some reason why .net abandons this great feature.
them
by
value |
|
c**g 发帖数: 274 | 38 Java array is an object, to create an object, you need to
1) declare
2) initialize (use new to assign a size).
So you can say:
int[] myArray;
myArray = new int[4];
But one of many special things about an array is, you can also
initialize its members, either in an explicitive (such as a loop),
or an implicitvie way. like:
int[] myArray;
myArray = new int[] {1, 2};
you can do this in one line: int[] myArray = new int[] {1, 2};
ALSO, there is a shortcut for the above one line initi |
|
y********o 发帖数: 2565 | 39 其实我在考虑这个问题是因为我想生成比方说100个random integer, 要个个不同。所以
想,生成一个放入array, 往后生成的,先看看array里面是否已经存在,是新鲜的才放
进去。
下午又想起来,可能可以用HashSet,将生成的random integer拿Integer包了放入Hash
Set里面去,这样就省了比较这一步了。
如果java的Collection classes可以接收primitive type就好了。像上面用HashSet的办
法,到头来还要打开包转换一下方能使用,不是很麻烦吗?
当然,如果根本就有极其简单的办法得到100个unique random integers, 请赐教。我不
熟java。 |
|
n*****n 发帖数: 100 | 40 exactly true!
I need to initialize the array with assigning an arrayList to each array
element. Thanks a lot. |
|
c*****t 发帖数: 1879 | 41 There is no way to have generic T[][] that references to int[][].
Has to be Integer[][].
static void foo (T[][] array)
{
}
If you want strictly int[][] (or other 2D primitive arrays), usually
it is better to write multiple versions for each one, since ultimately
you would have to access each members through specific code and generics
doesn't help. |
|
t***a 发帖数: 416 | 42 也不能说完全是两回事, ArrayList内部存储是个Array
可以把arraylist想象成为一个实现了List接口的可以自己增长capacity的array |
|
z*******3 发帖数: 13709 | 43 ArrayList 是 List,记List的方法
Array这个类我好久没见到了,上一次见到是Array.asList()
StringBuffer理论上效率要高于String
不过我也没有见过多少人用它 |
|
F*******X 发帖数: 143 | 44 我也在自学中,看了数本书都提到 ArrayList, 但没有看到 Array,我想这 Array 应
该用的不多。关于 StringBuffer 和 String 应该是看你怎么用吧!关于 methods,我
也有相同的感觉,太多太难记,但有些书会说只有某些 class 的 methods 是常用的,
记着就好,其他的要用的就自己看 doc, 不知道实际工作是怎样的状况? |
|
z*******3 发帖数: 13709 | 45 这个类,在google里面输入Array Java
前几个搜索记录居然都是Arrays的
可想而知了 |
|
W***o 发帖数: 6519 | 46 【 以下文字转载自 Programming 讨论区 】
发信人: Wardo (Wardo), 信区: Programming
标 题: Java 问题,请教如何找出一个array里的duplicate segments?
发信站: BBS 未名空间站 (Sat Sep 14 00:11:22 2013, 美东)
比如我有一个这样的array {1, 2, 3, 3, 3, 3, 5, 6, 8, 8, 8, 8, 8, 9, 9, 9, 9}
,我希望找出里面的duplicate segment {3, 3, 3, 3} {8, 8, 8, 8, 8} {9, 9, 9, 9}
我的想法是用两个指针i,j。i 初始化在index 0, j 在 N - 1最后一个index. 保持i不
懂,用j从用往左扫描,如果没找到,让j停在i + 1的位置,然后increment i to i+1,
j to N-1. 如此反复,如果j找到了一个duplicate segment的最右端, 此时test[i] =
= test[j] true,这个时候打印出这个segment. 然后increm... 阅读全帖 |
|
W***o 发帖数: 6519 | 47 【 以下文字转载自 Programming 讨论区 】
发信人: Wardo (Wardo), 信区: Programming
标 题: Java 问题,请教如何找出一个array里的duplicate segments?
发信站: BBS 未名空间站 (Sat Sep 14 00:11:22 2013, 美东)
比如我有一个这样的array {1, 2, 3, 3, 3, 3, 5, 6, 8, 8, 8, 8, 8, 9, 9, 9, 9}
,我希望找出里面的duplicate segment {3, 3, 3, 3} {8, 8, 8, 8, 8} {9, 9, 9, 9}
我的想法是用两个指针i,j。i 初始化在index 0, j 在 N - 1最后一个index. 保持i不
懂,用j从用往左扫描,如果没找到,让j停在i + 1的位置,然后increment i to i+1,
j to N-1. 如此反复,如果j找到了一个duplicate segment的最右端, 此时test[i] =
= test[j] true,这个时候打印出这个segment. 然后increm... 阅读全帖 |
|
z*********e 发帖数: 10149 | 48 今天遇到个问题,搞了半天才弄清楚错误在哪里
wrong:
int[] sub = {1,2,3};
List subArray = Arrays.asList(sub);
right:
Integer[] sub = {1,2,3};
List subArray = Arrays.asList(sub); |
|
q**j 发帖数: 10612 | 49 我总是把数据从.csv或者SQL里面读入,成为list。但是现在要把他们变成容易操作的
形式。用了Numpy以后,array(whatever)把所有的东西都变成了一种形式。很不方便
。请问用没有办法直接把数据从list形式转化成structured array?多谢指教。 |
|