class Solution {
public:
bool solve(string A, string B) {
if (A.size() != B.size()) return false;
for (int i = 0; i < A.size(); i++)
{
if (A.substr(i) + A.substr(0, i) == B) return true;
}
return false;
}
};
class Solution {
public:
bool solve(string A, string B) {
if (A.size() != B.size()) return false;
return (A + A).find(B) != string::npos;
}
};
方法一:优先级队列。
class Solution {
public:
struct cmp{
bool operator()(ListNode* l1, ListNode* l2)
{
return l1->val > l2->val;
}
};
ListNode* mergeKLists(vector<ListNode*>& lists) {
priority_queue<ListNode*, vector<ListNode*>, cmp> pq;
for (auto& lt : lists)
{
if (lt) pq.push(lt);
}
ListNode newnode(0);
ListNode* tail(&newnode);
while (pq.size())
{
tail->next = pq.top();
pq.pop();
tail = tail->next;
if (tail->next) pq.push(tail->next);
}
return newnode.next;
}
};
方法二:分治。
class Solution {
public:
ListNode* mergeKLists(vector<ListNode*>& lists) {
return merge(lists, 0, lists.size() - 1);
}
ListNode* merge(vector<ListNode*>& lt, int l, int r)
{
if (l > r) return nullptr;
if (l == r) return lt[l]; // 关键
int mid = (l + r) >> 1;
return dfs(merge(lt, l, mid), merge(lt, mid + 1, r));
}
ListNode* dfs(ListNode* l1, ListNode* l2)
{
if (l1 == nullptr) return l2;
if (l2 == nullptr) return l1;
if (l1->val < l2->val)
{
l1->next = dfs(l1->next, l2);
return l1;
}
else
{
l2->next = dfs(l1, l2->next);
return l2;
}
}
};
#include <iostream>
using namespace std;
int n, m;
int arr[110][110];
bool used[110][110];
int dx[4] = {1, -1, 0, 0}, dy[4] = {0, 0, -1, 1};
int res;
int dfs(int i, int j)
{
used[i][j] = true;
int len = 1;
for (int k = 0; k < 4; k++)
{
int x = i + dx[k], y = j + dy[k];
if (x >= 0 && x < n && y >= 0 && y < m && !used[x][y] && arr[x][y] < arr[i][j])
{
len = max(len, dfs(x, y) + 1);
}
}
used[i][j] = false;
return len;
}
int main()
{
cin >> n >> m;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
cin >> arr[i][j];
}
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
res = max(res, dfs(i, j));
}
}
cout << res << endl;
return 0;
}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有