leetcode算法题--Perfect Squares

2021/7/31 11:07:09

本文主要是介绍leetcode算法题--Perfect Squares,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

原题链接:https://leetcode.com/problems/perfect-squares/

int numSquares(int n) { //0点到n点的最短距离
    queue<int> q;
    vector<int> dist(n + 1, INT_MAX);
    q.push(0);
    dist[0] = 0;
    while (q.size()) {
        int t = q.front();
        q.pop();
        if(t == n) return dist[n];
        for (int i = 1; i * i + t <= n; i ++ ) {
            int j = i * i + t;
            if (dist[j] >= dist[t] + 1) {
                dist[j] = dist[t] + 1;
                q.push(j);
            } 
        }
    }
    return 0;
}


这篇关于leetcode算法题--Perfect Squares的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程