N-th ట్రిబొనాక్సీ సంఖ్య లీట్‌కోడ్ పరిష్కారం


కఠినత స్థాయి సులువు
తరచుగా అడుగుతుంది <span style="font-family: Mandali; ">ఫేస్‌బుక్ </span>
డైనమిక్ ప్రోగ్రామింగ్

సమస్యల నివేదిక

”N-th ట్రిబొనాక్సీ నంబర్” సమస్యలో మనకు ఒక సంఖ్య ఇవ్వబడుతుంది. మా పని N-th ను కనుగొనడం ట్రిబొనాక్సీ సంఖ్య.

సున్నా ట్రిబొనాక్సీ సంఖ్య 0. మొదటి ట్రిబొనాక్సీ సంఖ్య 1. రెండవ ట్రిబొనాక్సీ సంఖ్య 1.

N-th ట్రిబొనాక్సీ సంఖ్య (N-1- వ ట్రిబొనాక్సీ సంఖ్య), (N-2- వ ట్రిబొనాక్సీ సంఖ్య) మరియు (N-3- వ ట్రిబొనాక్సీ సంఖ్య) యొక్క సమ్మషన్.

N-th ట్రిబొనాక్సీ సంఖ్య లీట్‌కోడ్ పరిష్కారం

ఉదాహరణ

n = 4
4

వివరణ: సున్నా, మొదటి మరియు రెండవ ట్రిబొనాక్సీ సంఖ్యలు వరుసగా 0,1,1. కాబట్టి మూడవ ట్రిబొనాక్సీ సంఖ్య (0 + 1 + 1) 2. అదేవిధంగా, నాల్గవ ట్రిబొనాక్సీ (1 + 1 + 2) 4.

N-th ట్రిబొనాక్సీ నంబర్ లీట్‌కోడ్ సొల్యూషన్ కోసం అప్రోచ్

N-th ట్రిబొనాక్సీ సంఖ్య (N-1), (N-2) మరియు (N-3) ట్రిబొనాక్సీ సంఖ్య యొక్క సమ్మషన్‌గా నిర్వచించబడింది. కాబట్టి మనకు మొదట (N-3) -th ట్రిబొనాక్సీ సంఖ్య అవసరం (N-2), (N-1) మరియు (N) -th ట్రిబొనాక్సీ సంఖ్యను లెక్కించడానికి ఇది ఉపయోగించబడుతుంది. కాబట్టి ఇప్పుడు మా కొత్త సమస్య ఏమిటంటే (N-3) -th ట్రిబొనాక్సీ సంఖ్యను లెక్కించడం. ఇక్కడ మనం ఒక విషయాన్ని ముగించవచ్చు, అంటే మనం ఒకదానిని N-th ట్రిబొనాక్సీ సంఖ్యకు లెక్కించాల్సిన అవసరం ఉంది, ఎందుకంటే ప్రతి తదుపరి విలువ మునుపటి మూడు విలువలపై ఆధారపడి ఉంటుంది. మేము ఈ దశలను అనుసరిస్తాము:

  1. మేము సున్నా, మొదటి మరియు రెండవ ట్రిబొనాక్సీ సంఖ్యల విలువలను వరుసగా a, b మరియు c అనే మూడు వేరియబుల్స్‌లో నిల్వ చేస్తాము.
  2. ఇక్కడ a, b, మరియు c చివరి మూడు ట్రిబొనాక్సీ సంఖ్యలను నిల్వ చేస్తాయి. ఈ చివరి మూడు ట్రిబొనాక్సీ సంఖ్యలను ఉపయోగించి మేము తదుపరి ట్రిబొనాక్సీ సంఖ్యను లెక్కించి, ఆపై a, b మరియు c విలువలను నవీకరిస్తాము.
  3. N-th ట్రిబొనాక్సీ సంఖ్య యొక్క విలువను కనుగొనే వరకు మేము దశ -2 ను పునరావృతం చేస్తాము, అప్పుడు మేము దానిని తిరిగి ఇస్తాము.

అమలు

N-th ట్రిబొనాక్సీ నంబర్ కోసం C ++ కోడ్

#include <bits/stdc++.h> 
using namespace std; 
    int tribonacci(int n) {
        if (n < 2) return n;
        int a = 0, b = 1, c = 1, d = a + b + c;
        while (n-- > 2) {
            d = a + b + c, a = b, b = c, c = d;
        }
        return c;
    }

int main() 
{ 
int n=4;
int ans=tribonacci(n); 
 cout<<ans<<endl;
 return 0;
}
4

N-th ట్రిబొనాక్సీ నంబర్ కోసం జావా కోడ్

import java.util.Arrays;
import java.util.Set ;
import java.util.HashSet;
import java.util.*; 
public class Tutorialcup {
    public static int tribonacci(int n) {
        if (n < 2) return n;
        int a = 0, b = 1, c = 1, d;
        while (n-- > 2) {
            d = a + b + c;
            a = b;
            b = c;
            c = d;
        }
        return c;
    }
  public static void main(String[] args) {
        int n=4; 
        int ans=tribonacci(n); 
        System.out.println(ans);
  }
}
4

N-th ట్రిబొనాక్సీ నంబర్ లీట్‌కోడ్ సొల్యూషన్ యొక్క సంక్లిష్టత విశ్లేషణ

సమయం సంక్లిష్టత

పై కోడ్ యొక్క సమయం సంక్లిష్టత పై) ఎందుకంటే మేము N-th ట్రిబొనాక్సీ సంఖ్య వరకు మళ్ళిస్తున్నాము. ఇక్కడ n ఇచ్చిన సంఖ్య, దీని కోసం మనం N-th ట్రిబొనాక్సీ సంఖ్యను లెక్కించాలి.

స్థల సంక్లిష్టత

పై కోడ్ యొక్క స్థల సంక్లిష్టత O (1) ఎందుకంటే మేము జవాబును నిల్వ చేయడానికి వేరియబుల్ మాత్రమే ఉపయోగిస్తున్నాము.

ప్రస్తావనలు