铭记于心 | ||
---|---|---|
✨我唯一知道的,便是我一无所知✨ |
众所周知,作为一名合格的程序员,算法 能力 是不可获缺的,并且在算法学习的过程中我们总是能感受到算法的✨魅力✨。
☀️短短几行代码,凝聚无数前人智慧;一个普通循环,即是解题之眼☀️
二分,贪心,并查集,二叉树,图论,深度优先搜索(dfs),宽度优先搜索(bfs),数论,动态规划等等, 路漫漫其修远兮,吾将上下而求索! 希望在此集训中与大家共同进步,有所收获!!!
866. 回文素数 - 力扣(LeetCode)
暴力解法,声明两个函数,分成两步走暴力解题
var isPalindrome = function(n) {
let str = n.toString().split("").reverse().join("")
return str === n
}
var isPrime = function(n) {
for(let i = 0 ;i < n; i++){
if(n % i == 0){
return false
}
}
return true
}
public class Solution {
public bool isPrime(int x)
{
if(x<2)return false;
for(int i=2;i*i<=x;i++)
{
if(x%i==0)return false;
}
return true;
}
public int CountPrimes(int n)
{
int res=0;
bool[] vis=new bool[n+1];
for(int i=2;i<n;i++)
{
if(vis[i])continue;//下文的vis[j*i]已经对其进行了预判,它不是质数直接跳过
if(isPrime(i))//判断是否为质数,是的话,它的倍数就不是了
for(int j=2;j<n;j++)
{
if(j*i<n)vis[j*i]=true;
else break;
}
else vis[i]=true;//不是的话记录在案
}
for(int i=2;i<n;i++)if(!vis[i])res++;//因为非质数记录的是true,所以统计false的个数
return res;
}
}
写在最后:
相信大家对今天的集训内容的理解与以往已经有很大不同了吧,或许也感受到了算法的魅力,当然这是一定的,路漫漫其修远兮,吾将上下而求索!伙伴们,明天见!