LeetCode 2614[对角线上的质数]

题目描述

2614. 对角线上的质数 - 力扣(LeetCode)

分析流程

总思路

2641对角线上的质数之总思路

对角线数据

2641对角线上的质数之对角线数据

排序

2641对角线上的质数之排序

找出质数

2641对角线上的质数之找出质数

实现代码

bool isPrime(int num) 
{
	if (1 == num)
		return false;

	if (2 == num)
		return true;
	if (0 == (num % 2))
		return false;

	for (int i = 3; i < num - 1; i++) 
	{
		if (0 == (num % i))
			return false;
	}

	return true;
}

class Solution 
{
public:
	int diagonalPrime(vector<vector<int>>& nums) 
	{
		int iLen = nums[0].size();
		vector<int> resultVt;
		
		for (int i = 0; i < iLen; ++i) 
		{
			if (resultVt.end() == find(resultVt.begin(), resultVt.end(), nums[i][i]))
				resultVt.push_back(nums[i][i]);
				
			if (resultVt.end() == find(resultVt.begin(), resultVt.end(), nums[i][iLen - i - 1]))
				resultVt.push_back(nums[i][iLen - i - 1]);
		}
		
		sort(resultVt.begin(), resultVt.end());
		
		iLen = resultVt.size();
		
		for (int i = iLen - 1; i >= 0; --i) 
		{
			if (isPrime(resultVt.at(i)))
				return resultVt.at(i);
		}
		
		return 0;
	}
};
posted @ 2025-08-01 00:23  EricsT  阅读(277)  评论(0)    收藏  举报