ஜீரோ லீட்கோட் தீர்வு வரை N தனித்துவமான முழு எண்ணைக் கண்டறியவும்


சிரமம் நிலை எளிதாக
அடிக்கடி கேட்கப்படுகிறது அடோப் அமேசான் பேஸ்புக் மைக்ரோசாப்ட்
அணி

ஜீரோ லீட்கோட் தீர்வு வரை N தனித்துவமான முழு எண்ணைக் கண்டுபிடிப்பதில் சிக்கல், எங்களுக்கு ஒரு முழு எண்ணை வழங்குகிறது. இது 0 வரையிலான தனித்துவமான முழு எண்களைத் தருமாறு கேட்கிறது. எனவே, கேள்வி புரிந்து கொள்ள மிகவும் எளிது. எனவே, கரைசலில் டைவிங் செய்வதற்கு முன். சில எடுத்துக்காட்டுகளைப் பார்ப்போம்.

ஜீரோ லீட்கோட் தீர்வு வரை N தனித்துவமான முழு எண்ணைக் கண்டறியவும்

n = 5
[-7,-1,1,3,4]

விளக்கம்: சரி, சிக்கலுக்கு பல வெளியீடுகள் இருக்கலாம். ஆனால் கொடுக்கப்பட்ட வெளியீட்டை எடுத்துக்கொள்வோம். வெளியீட்டில் உள்ள முழு எண்களும் தனித்துவமானது. இவ்வாறு விதிக்கப்பட்ட நிபந்தனையையும், கொடுக்கப்பட்ட அனைத்து முழு எண்களின் கூட்டுத்தொகையும் 0 ஆகும். எனவே, இரண்டு நிபந்தனைகளும் திருப்தி அடைகின்றன.

n = 3
[-1, 0, 1]

விளக்கம்: கொடுக்கப்பட்ட வெளியீட்டில் அனைத்து தனித்துவமான முழு எண்களும் உள்ளன, அவற்றின் கூட்டுத்தொகையும் 0 ஆகும். இதனால், வெளியீடு விதிக்கப்பட்ட அனைத்து நிபந்தனைகளையும் பூர்த்தி செய்கிறது.

கண்டுபிடிப்பதற்கான அணுகுமுறை ஜீரோ லீட்கோட் தீர்வு வரை N தனித்த முழு எண்ணைக் கூட்டுகிறது

சிக்கல்களுக்கான அணுகுமுறை பெரும்பாலான நேரங்களில் வடிவத்தை விரிசல் செய்கிறது. இந்த வகை கேள்விகளில் எப்போதும் சில அடிப்படை வடிவங்கள் உள்ளன. எனவே, ஒரு கேள்விக்கான வடிவத்தைக் கண்டுபிடிக்க முயற்சிக்கும் போதெல்லாம். N இன் சிறிய மதிப்புகளுக்கான பதிலைக் கண்டுபிடிக்க எப்போதும் முயற்சிக்கவும், பின்னர் வடிவத்தைக் கண்டுபிடிக்க முயற்சிக்கவும். N = 1 க்கு, வெளியீடு 0 ஆக இருக்கலாம். N = 2 க்கு, வெளியீடு [-1, 1] ஆக இருக்கலாம். இதேபோல் n = 3 க்கு, வெளியீடு [-2, 0, 2] ஆகவும், n = 4 க்கு, வெளியீடு [-3, -1, 1, 3] ஆகவும் இருக்கலாம். எனவே, வெளியீடு AP ஐ உருவாக்கும் ஒரு வடிவத்தைக் காண்கிறோம், அங்கு n இன் மதிப்பு ஒற்றைப்படை. நடுத்தர உறுப்பு 0. n இன் மதிப்பு சமமாக இருந்தால் (n + 1) / 2 உறுப்பு 1. எனவே, இந்த தகவலைப் பயன்படுத்தி, நாம் ஒரு சூத்திரத்தை உருவாக்கலாம். சூத்திரம் ஒரு [i] = 2 * i + 1-n ஆக இருக்கலாம். இப்போது, ​​இந்த n இன் கூறுகளை நிரப்ப இந்த சூத்திரத்தைப் பயன்படுத்துகிறோம் வரிசை.

N தனித்துவமான முழு எண்ணைக் கண்டுபிடிப்பதற்கான குறியீடு ஜீரோ லீட்கோட் தீர்வு வரை

சி ++ குறியீடு

#include <bits/stdc++.h>
using namespace std;

vector<int> sumZero(int n) {
    vector<int> v(n);
    for(int i=0;i<n;i++)
        v[i] = 2*i - n + 1;
    return v;
}

int main(){
    vector<int> output = sumZero(7);
    for(auto x: output)
        cout<<x<<" ";
}
-6 -4 -2 0 2 4 6

ஜாவா குறியீடு

import java.util.*;
import java.lang.*;
import java.io.*;

class Main
{
    public static int[] sumZero(int n) {
        int[] v = new int[n];
        for(int i=0;i<n;i++)
            v[i]= 2*i - n + 1;
        return v;
    }
    
    public static void main(String[] args){
    	int[] output = sumZero(7);
    	for(int i=0;i<7;i++)
    		System.out.print(output[i]+" ");
    }
}
-6 -4 -2 0 2 4 6

சிக்கலான பகுப்பாய்வு

நேர சிக்கலானது

ஓ (என்), நாங்கள் வெறுமனே வரிசையை நிரப்புவதால் ஒவ்வொரு உறுப்புகளையும் கணக்கிட முடியும் ஓ (1). இதனால், நேர சிக்கலானது நேரியல் ஆகும்.

விண்வெளி சிக்கலானது

ஓ (என்), ஏனெனில் நாங்கள் ஒரு வரிசையை உருவாக்குகிறோம், அது வெளியீட்டாக திரும்ப வேண்டும்.