SOLUTION
Intuition\nthis solution is based on counting the frequencies of elements inside the array\n\n# Approach\nthe solution comprises of 3 cases \ntake two variables
# Intuition\nthis solution is based on counting the frequencies of elements inside the array\n\n# Approach\nthe solution comprises of 3 cases \ntake two variables size1 and size2 and initialise them to 0\n**case 1**-> if the frequency of any element is greater than 2 ,then that element will defenitly repeat in the other two arrays so directly return false.\n**case 2**-> if the frequency of element is 2 then both size1 and size2 would be increased simultaneously.\n**case 3**->if the frequency is 1 them whichever size1 or size2 is smaller it would be increased by 1.\nafter that compare size1 and size2.\n\n# Complexity\n- Time complexity:\nO(nlogn)\n\n- Space complexity:\nO(n)\n\n# Code\n```\nclass Solution {\npublic:\n    bool isPossibleToSplit(vector<int>& nums) {\n        int n=nums.size();\n        map<int,int>mp;\n        for(int i=0;i<n;i++){\n            mp[nums[i]]++;\n        }\n       int size1=0;\n        int size2=0;\n        for(auto it:mp){\n            if(it.second>2){\n                return false;\n            }\n            else if(it.second==2){\n                size1++;\n                size2++;\n            }\n            else if(it.second==1){\n                if(size1>size2){\n                    size2++;\n                }\n                else{\n                    size1++;\n                }\n            }\n        }\n        return size1==size2;\n    }\n};\n```
['Hash Table', 'Counting', 'C++']