質問編集履歴
4
目的について記載。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
3
|
以下を実現したいのですが、ループのネストをせずに実現することは可能でしょうか。
|
4
|
+
※目的は処理の高速化です。
|
4
5
|
|
5
6
|
numpyをうまく使えば高速に行えるのではないかと考えているのですが、
|
6
7
|
妙案が浮かばず。。。
|
@@ -11,11 +12,11 @@
|
|
11
12
|
|
12
13
|
#### 得たい結果
|
13
14
|
各インデックスの値とそのインデックス以降の値を比較して、
|
14
|
-
|
15
|
+
* 10以上になった後、10以下になった場合、
|
15
16
|
または、10以下になった後、10以上になった場合、
|
16
17
|
または、どの条件にも該当しない場合:0
|
17
|
-
|
18
|
+
* 10以下に一度もなっていない状態で、20以上になった場合:1
|
18
|
-
|
19
|
+
* 10以上に一度もなっていない状態で、20以下がった場合:2
|
19
20
|
|
20
21
|
##### 入力1
|
21
22
|
[10, 0, 20, 9, 9, 9, 0, 29]
|
3
得たい結果の説明を修正。
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,11 +11,11 @@
|
|
11
11
|
|
12
12
|
#### 得たい結果
|
13
13
|
各インデックスの値とそのインデックス以降の値を比較して、
|
14
|
-
・20以上になった場合:1
|
15
|
-
・20以下がった場合:2
|
16
14
|
・10以上になった後、10以下になった場合、
|
17
15
|
または、10以下になった後、10以上になった場合、
|
18
|
-
または、
|
16
|
+
または、どの条件にも該当しない場合:0
|
17
|
+
・10以下に一度もなっていない状態で、20以上になった場合:1
|
18
|
+
・10以上に一度もなっていない状態で、20以下がった場合:2
|
19
19
|
|
20
20
|
##### 入力1
|
21
21
|
[10, 0, 20, 9, 9, 9, 0, 29]
|
2
得たい結果の開設を修正し、入出力の例を増やしました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,21 +11,42 @@
|
|
11
11
|
|
12
12
|
#### 得たい結果
|
13
13
|
各インデックスの値とそのインデックス以降の値を比較して、
|
14
|
-
・10以上、10以下になった場合:0
|
15
14
|
・20以上になった場合:1
|
16
15
|
・20以下がった場合:2
|
16
|
+
・10以上になった後、10以下になった場合、
|
17
|
+
または、10以下になった後、10以上になった場合、
|
18
|
+
または、いずれにも該当しない場合:0
|
19
|
+
|
17
|
-
##### 入力
|
20
|
+
##### 入力1
|
18
21
|
[10, 0, 20, 9, 9, 9, 0, 29]
|
19
22
|
|
20
|
-
##### 出力
|
23
|
+
##### 出力1
|
21
24
|
[0, 1, 2, 1, 1, 1, 1, 0]
|
22
25
|
|
26
|
+
##### 入力2
|
27
|
+
|
28
|
+
[25, 36, 14, 50, 0]
|
29
|
+
|
30
|
+
##### 出力2
|
31
|
+
|
32
|
+
[0, 2, 1, 2, 0]
|
33
|
+
|
34
|
+
##### 入力3
|
35
|
+
|
36
|
+
[25, 24, 24, 24, 24]
|
37
|
+
|
38
|
+
##### 出力3
|
39
|
+
|
40
|
+
[0, 0, 0, 0, 0]
|
41
|
+
|
42
|
+
|
43
|
+
|
23
44
|
### 該当のソースコード
|
24
45
|
|
25
46
|
```python3.6
|
26
47
|
import numpy as np
|
27
48
|
|
28
|
-
arr = np.array([
|
49
|
+
arr = np.array([25, 36, 14, 50, 0])
|
29
50
|
result = [0] * len(arr)
|
30
51
|
for i, target in enumerate(arr) :
|
31
52
|
is_up = False
|
1
タグ追加
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|