static <A, B> L<Pair<A, B>> combineZigZag(L<A> l1, L<B> l2) { int lA = l(l1), lB = l(l2), maxSum = max(lA, lB); L<Pair<A, B>> out = new L; int ndiags = lA + lB - 1; for diag to ndiags: { int row_stop = max(0, diag - lA + 1); int row_start = min(diag, lB - 1); for (int row = row_start; row >= row_stop; row--) { // on a given diagonal row + col = constant "diag" // diag labels the diagonal number int col = diag - row; out.add(pair(l1.get(col), l2.get(row))); } } ret out; }
download show line numbers debug dex old transpilations
Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, irmadwmeruwu, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1017436 |
Snippet name: | combineZigZag - combine two priority-first lists into a new priority-first list |
Eternal ID of this version: | #1017436/8 |
Text MD5: | c59dcc56b90a333ca28eefaa48c78573 |
Author: | stefan |
Category: | javax |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2018-07-21 13:04:18 |
Source code size: | 548 bytes / 18 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 384 / 433 |
Version history: | 7 change(s) |
Referenced in: | [show references] |