내 컴퓨터에서 메모 코드를 테스트하고 있습니다. 범위 100000 배열이 있습니다. 다음 코드로. 메모이 제이션 기법을 사용 def fact1(n):
if n<1:
return 1
else:
fa=1
for i in range(1, n+1):
fa*=i
return fa
, 다음
나는 재귀 함수를 가지고 있고 나는 Mémoïsant 내 재귀 함수의 재 작성합니다 : let rec sum_cube l =
match l with
| [] -> 0
| x :: s -> (x * x * x) + sum_cube s
을하고 나는이 함께 노력 : let memo = Hashtbl.create 17
let rec
짧은 배열의 경우 다음 함수가 잘 작동합니다. 그것은 whe 합이 주어진 정수와 같은 첫 번째 배열 쌍을 반환한다고 가정합니다. 그러나 배열의 길이가 1 천만 개 이상인 경우 요청이 시간 초과됩니다. 왜냐하면 (내가 생각하기에) 첫 번째 줄에 만드는 변수에 수천 개의 값을 저장하기 때문입니다. 나는 memoization (|| =)을 사용해야 만하지만 그것
나는 재귀 적 솔루션으로 부분 합계 문제를 해결하려고 노력하고있다. 그러나 좀 더 효율적으로하기 위해 memoization을 넣으려고한다. 그러나 memoization이없는 코드는 정확한 해결책을 제공하지만 memoization을 사용하면 제대로 작동하지 않습니다. public int subsetSum(int num[], int idx, int expece
내 코드가 무엇이 었는지 알 수 없습니다. (피라미드 [0] [0]) 아래 어느 아이템, 또는 이동에 의해 달성 가능한 최대 합을 산출 선두로부터 시작 [[1],
[2,3],
[4,5,6],
[7,8,9,10]]
: 는 I 피라미드 걸리는 코드를 작성 0,123,806,093,224,422 아래 및 오른쪽 항목 재귀 이 예에서 출력 20 이 제대로
정수를 취하여 정수 목록을 반환하는 함수가 있습니다. 이 함수를 초기 정수로 효율적으로 매핑하는 방법과 이전에 매핑되지 않은 결과 목록의 각 항목에 대해 동일한 함수를 적용하고 본질적으로 무한한 목록을 생성합니다. 예. f :: Int -> [Int]
f 0 = [1,2]++(f 1)++(f 2)
또한 결과 목록에 최대 10E10까지 색인을 생성 할
std :: pair, mpfr_t> 유형의 요소를지도에 삽입하는 데 문제가 있습니다. 성병 :: make_pair 기능에 '__mpfr_struct의 *'의 할당에 오류를 호환되지 않는 유형의 호출 '__mpfr_struct [1]' 난 단지 내가 생각 rec_func 함수에 mpfr_t 개체에 대한 포인터를 전달하고 있기 때문에 * 연산자를 사용하여 역
다른 클래스의 일부 클로저에 대해 메모 화를 구현하려고합니다. 그러나 나는 그것을 작동하게 할 수 없다. .call()을 사용하여 클로저를 호출 할 때 메모 생성이 제대로 작동합니다. 하지만 정상적으로 메서드라고 부르는 경우에는 작동하지 않습니다. 코드 : public class Tester {
static main (String[] args){
다음은 Elm 구문 페이지의 피보나치 코드입니다. 그냥 궁금해서 재귀를 암기해야합니까 아니면 게으른 평가가 처리합니까? f(30)이 f(10) 4000 같은 회가 someting를 계산한다면 (파이썬 등) 다른 언어 fib n = case n of
0 -> 1
1 -> 1
_ -> fib (n-1) + fib (n-2)
함수