조건에 따라 foldLeft 함수의 변수를 업데이트 할 수 있습니까?

마헤 쉬

주어진 배열의 연속 하위 배열에서 최대 합계를 제공하는 스칼라 코드를 작성하려고합니다. 예 : val arr= Array(-2, -3, 4, -1, -2, 1, 5, -3). 이 배열에서 최대 연속 하위 배열 합계, 즉 4 + (-1) + (-2) + (1) +5 = 7을 얻어야합니다.이 결과를 얻기 위해 다음 코드를 작성했습니다.

scala> arr.foldLeft(0) { (currsum,newnum) => if((currsum+newnum)<0) 0 else { if(currsum<(currsum+newnum)) (currsum+newnum) else currsum }}
res5: Int = 10

그러나 maximum_so_far계산 / 합산이 진행됨에 따라 을 업데이트 할 수 없으므로 실제 결과에서 벗어났습니다 . foldLeft이 기능 을 사용 maximum_so_far했으므로 인접한 하위 배열 요소의 합계가 이전 max_sum보다 큰 경우에만 변수 를 업데이트 할 수 있습니까?

시나리오를 더 잘 이해하기위한 참조 링크

dth

이 계산을 위해 입력 데이터를 따라 두 개의 값을 전파해야합니다. 명령형 경우에서해야하는 것처럼 :

arr.foldLeft((0,0)){
  case ((maxSum, curSum), value) => {
    val newSum = Math.max(0, curSum + value)
    (Math.max(maxSum, newSum), newSum)  
  }
}._1

다른 방법은 중간 결과 (원하는 경우 느리게)를 계산 한 다음 최대 값을 선택하는 것입니다.

arr.toIterator.scanLeft(0){
  case (curSum, value) =>
    Math.max(0, curSum + value)
}.max

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

python3의 특정 조건에 따라 사전을 업데이트 할 수 있습니까?

분류에서Dev

조건에 따라 테이블 뷰에서 스칼라 함수를 어떻게 호출 할 수 있습니까?

분류에서Dev

진행 차트의 값에 따라 SPARKLINE 함수를 어떻게 변경할 수 있습니까?

분류에서Dev

React Navigation 5 headerRight의 텍스트를 상태에 따라 어떻게 업데이트 할 수 있습니까?

분류에서Dev

가라테 프레임 워크에서 조건이 충족되면 변수를 정의 할 수 있습니까?

분류에서Dev

jquery에서 ajax 호출의 응답에 따라 특정 if 조건에서 PHP 페이지의 http respose 코드를 어떻게 변경할 수 있습니까?

분류에서Dev

이 문제의 조건에 따라 어떻게 "복호화"할 수 있습니까?

분류에서Dev

변수의 값이 다른 변수의 변경에 따라 달라 지도록 할 수 있습니까?

분류에서Dev

텍스트 값에 따라 클래스를 변경할 수 있습니까?

분류에서Dev

파이썬의 조건에 따라 여러 데이터 프레임 열의 데이터 유형을 어떻게 변경할 수 있습니까?

분류에서Dev

R에서 한 번의 호출로 조건에 따라 변수를 선택한 다음 다른 변수를 선택할 수 있습니까?

분류에서Dev

JLabel이 변수 값에 따라 텍스트를 변경하도록 할 수 있습니까?

분류에서Dev

URL에 따라 iframe src를 변경할 수 있습니까?

분류에서Dev

열 항목을 기반으로 특정 조건에 따라 Pandas 열 데이터를 어떻게 변경할 수 있습니까?

분류에서Dev

Google 시트에서 어떻게 할 수 있습니까? 조건에 따라 곱하다

분류에서Dev

레이아웃에 따라 표시되는 플렉스 아이템의 수를 변경할 수 있습니까?

분류에서Dev

리소스 또는 조건에 따라 CloudWatch 작업을 제한 할 수 있습니까?

분류에서Dev

매개 변수에 따라 LINQ 쿼리 orderBy를 변경할 수있는 방법이 있습니까?

분류에서Dev

PL / SQL 함수 내에서 업데이트를 수행 할 수 있습니까?

분류에서Dev

params에 따라 html 데이터를 어떻게 분할 할 수 있습니까?

분류에서Dev

Java의 특정 조건에 따라 다른 객체로 동일한 변수 이름을 초기화 할 수 있습니까?

분류에서Dev

단어에 따라 Jekyll 변수 CSS를 변경할 수 있습니까?

분류에서Dev

자바 스크립트의 조건에 따라 핀을 업데이트해야하는 경우 코드를 더 효율적으로 만들 수 있습니까?

분류에서Dev

최상위 상수에 따라 다른 매개 변수로 함수를 오버로드 할 수 있습니까?

분류에서Dev

변수에 따라 어떤 아이콘을 선택할 수 있습니까?

분류에서Dev

사용중인 반복기의 요소에 따라 여러 변수 사용을 어떻게 처리 할 수 있습니까? 이 루비 코드를 어떻게 건조시킬 수 있습니까?

분류에서Dev

plsql updatexml- 속성에 따라 값을 업데이트 할 수 없습니다.

분류에서Dev

함수에서 모든 변수를 업데이트 할 수 없습니다.

분류에서Dev

사이트 슬러그 (PHP, Wordpress)에 따라 버튼 텍스트를 어떻게 변경할 수 있습니까?

Related 관련 기사

  1. 1

    python3의 특정 조건에 따라 사전을 업데이트 할 수 있습니까?

  2. 2

    조건에 따라 테이블 뷰에서 스칼라 함수를 어떻게 호출 할 수 있습니까?

  3. 3

    진행 차트의 값에 따라 SPARKLINE 함수를 어떻게 변경할 수 있습니까?

  4. 4

    React Navigation 5 headerRight의 텍스트를 상태에 따라 어떻게 업데이트 할 수 있습니까?

  5. 5

    가라테 프레임 워크에서 조건이 충족되면 변수를 정의 할 수 있습니까?

  6. 6

    jquery에서 ajax 호출의 응답에 따라 특정 if 조건에서 PHP 페이지의 http respose 코드를 어떻게 변경할 수 있습니까?

  7. 7

    이 문제의 조건에 따라 어떻게 "복호화"할 수 있습니까?

  8. 8

    변수의 값이 다른 변수의 변경에 따라 달라 지도록 할 수 있습니까?

  9. 9

    텍스트 값에 따라 클래스를 변경할 수 있습니까?

  10. 10

    파이썬의 조건에 따라 여러 데이터 프레임 열의 데이터 유형을 어떻게 변경할 수 있습니까?

  11. 11

    R에서 한 번의 호출로 조건에 따라 변수를 선택한 다음 다른 변수를 선택할 수 있습니까?

  12. 12

    JLabel이 변수 값에 따라 텍스트를 변경하도록 할 수 있습니까?

  13. 13

    URL에 따라 iframe src를 변경할 수 있습니까?

  14. 14

    열 항목을 기반으로 특정 조건에 따라 Pandas 열 데이터를 어떻게 변경할 수 있습니까?

  15. 15

    Google 시트에서 어떻게 할 수 있습니까? 조건에 따라 곱하다

  16. 16

    레이아웃에 따라 표시되는 플렉스 아이템의 수를 변경할 수 있습니까?

  17. 17

    리소스 또는 조건에 따라 CloudWatch 작업을 제한 할 수 있습니까?

  18. 18

    매개 변수에 따라 LINQ 쿼리 orderBy를 변경할 수있는 방법이 있습니까?

  19. 19

    PL / SQL 함수 내에서 업데이트를 수행 할 수 있습니까?

  20. 20

    params에 따라 html 데이터를 어떻게 분할 할 수 있습니까?

  21. 21

    Java의 특정 조건에 따라 다른 객체로 동일한 변수 이름을 초기화 할 수 있습니까?

  22. 22

    단어에 따라 Jekyll 변수 CSS를 변경할 수 있습니까?

  23. 23

    자바 스크립트의 조건에 따라 핀을 업데이트해야하는 경우 코드를 더 효율적으로 만들 수 있습니까?

  24. 24

    최상위 상수에 따라 다른 매개 변수로 함수를 오버로드 할 수 있습니까?

  25. 25

    변수에 따라 어떤 아이콘을 선택할 수 있습니까?

  26. 26

    사용중인 반복기의 요소에 따라 여러 변수 사용을 어떻게 처리 할 수 있습니까? 이 루비 코드를 어떻게 건조시킬 수 있습니까?

  27. 27

    plsql updatexml- 속성에 따라 값을 업데이트 할 수 없습니다.

  28. 28

    함수에서 모든 변수를 업데이트 할 수 없습니다.

  29. 29

    사이트 슬러그 (PHP, Wordpress)에 따라 버튼 텍스트를 어떻게 변경할 수 있습니까?

뜨겁다태그

보관