Skip to content

Commit cf5c142

Browse files
committed
two sum
1 parent bdd5432 commit cf5c142

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

src/z_lc_two_sum.prog.abap

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
*&---------------------------------------------------------------------*
2+
*& Report Z_LC_TWO_SUM
3+
*&---------------------------------------------------------------------*
4+
*&
5+
*&---------------------------------------------------------------------*
6+
REPORT z_lc_two_sum.
7+
8+
9+
TYPES: BEGIN OF ty_hash,
10+
key TYPE i,
11+
* val TYPE i,
12+
END OF ty_hash.
13+
14+
15+
DATA: gt_values TYPE STANDARD TABLE OF i,
16+
gs_values TYPE i,
17+
gt_hash TYPE HASHED TABLE OF ty_hash WITH UNIQUE KEY key,
18+
gs_hash TYPE ty_hash.
19+
20+
21+
DATA(target) = 9.
22+
23+
gt_values = VALUE #( ( 1 ) ( 2 ) ( 3 ) ( 4 ) ( 5 ) ).
24+
25+
LOOP AT gt_values INTO gs_values.
26+
27+
DATA(complement) = target - gs_values.
28+
29+
READ TABLE gt_hash INTO gs_hash WITH KEY key = complement .
30+
31+
IF sy-subrc NE 0.
32+
33+
gs_hash-key = gs_values.
34+
* gs_hash-val = sy-tabix.
35+
36+
INSERT gs_hash INTO TABLE gt_hash.
37+
ELSE.
38+
39+
WRITE:/ gs_values , gs_hash-key.
40+
EXIT.
41+
42+
ENDIF.
43+
44+
45+
ENDLOOP.

src/z_lc_two_sum.prog.xml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_PROG" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<PROGDIR>
6+
<NAME>Z_LC_TWO_SUM</NAME>
7+
<SUBC>1</SUBC>
8+
<RLOAD>E</RLOAD>
9+
<FIXPT>X</FIXPT>
10+
<UCCHECK>X</UCCHECK>
11+
</PROGDIR>
12+
<TPOOL>
13+
<item>
14+
<ID>R</ID>
15+
<ENTRY>Program Z_LC_TWO_SUM</ENTRY>
16+
<LENGTH>20</LENGTH>
17+
</item>
18+
</TPOOL>
19+
</asx:values>
20+
</asx:abap>
21+
</abapGit>

0 commit comments

Comments
 (0)