788. Rotated Digits

这里给出两种方法

方法一,逐个数字逐位判定,速度有点慢,但是很好理解

 1 class Solution 
 2 {
 3 public:
 4     int rotatedDigits(int N) 
 5     {
 6         unordered_set<int> unvalid{3,4,7};
 7         unordered_set<int> change{2,5,6,9};
 8         int count=0;
 9         for(int i=2;i<=N;i++)
10         {
11             int cur=i;
12             int flag=0;
13             while(cur)
14             {
15                 int last=cur%10;
16                 if(unvalid.find(last)!=unvalid.end())
17                 {
18                     flag=0;
19                     break;
20                 }
21                 if(change.find(last)!=change.end())
22                     flag=1;
23                 cur/=10;
24             }
25             count+=flag;
26         }
27         return count;
28     }
29 };

方法二,利用前面的判定结果,加快判定速度

 1 class Solution 
 2 {
 3 public:
 4     int rotatedDigits(int N) 
 5     {
 6         vector<int> judge(N+1,0);
 7         int count=0;
 8         for(int i=0;i<=N;i++)
 9         {
10             if(i<10)
11             {
12                 if(i==0||i==1||i==8)
13                     judge[i]=1;
14                 else if(i==3||i==4||i==7)
15                     judge[i]=0;
16                 else
17                 {
18                     judge[i]=2;
19                     count++;
20                 }
21             }
22             else
23             {
24                 int pre=judge[i/10];
25                 int last=judge[i%10];
26                 if(pre==1&&last==1)
27                     judge[i]=1;
28                 else if(pre+last>2)
29                 {
30                     judge[i]=2;
31                     count++;
32                 }
33                 else
34                     judge[i]=0;
35             }
36         }
37         return count;
38     }
39 };

 

转载于:https://www.cnblogs.com/zhuangbijingdeboke/p/9179214.html

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值