In operating system, the resource allocation to each process is a critical issue, because the resources are limited and sometimes may not be shareable among processes. An ineffective resource allocation may cause deadlock situation in the system. The banker's algorithm and some other modified algorithms are available to handle deadlock situations. However, the complexities of these algorithms are quite high. This paper presents an innovative technique for safe state detection in a system based on the maximum resource requirements of processes and the minimum resource available. In our approach, the resource requirements of each process are sorted in a linked list, where it is easy to check whether the request exceeds the available resources. In our experiments we compare our approach with some other methods including the original banker's algorithm. The results show that our proposed method provides less time complexity and less space complexity than the other methods.