当前位置: 首页 > news >正文

免费的cms视频网站网站统计cnzz

免费的cms视频网站,网站统计cnzz,网页设计图片间距代码,历史类网站策划目录 题目链接#xff1a;1.日期统计 - 蓝桥云课 (lanqiao.cn) 题目描述 思路 代码思路 定义数据结构#xff1a; 处理每一个月#xff1a; 检查日期序列在num100中是否存在#xff1a; 计数匹配的日期数#xff1a; 输出结果#xff1a; 代码实现 总结 题目链…目录 题目链接1.日期统计 - 蓝桥云课 (lanqiao.cn) 题目描述 思路 代码思路 定义数据结构 处理每一个月 检查日期序列在num100中是否存在 计数匹配的日期数 输出结果 代码实现 总结 题目链接1.日期统计 - 蓝桥云课 (lanqiao.cn) 题目描述 小蓝现在有一个长度为 100 的数组数组中的每个元素的值都在 0到9的范围之内。数组中的元素从左至右如下所示 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 7 0 5 8 8 5 7 0 9 9 1 9 4 4 6 8 6 3 3 8 5 1 6 3 4 6 7 0 7 8 2 7 6 8 9 5 6 5 6 1 4 0 1 0 0 9 4 8 0 9 1 2 8 5 0 2 5 3 3 现在他想要从这个数组中寻找一些满足以下条件的子序列:         1.子序列的长度为 8         2.这个子序列可以按照下标顺序组成一个yyyymmdd 格式的日期并且要求这个日期是 2023 年中的某一天的日期例如2023090220231223。yyyy表示年份mm 表示月份dd 表示天数当月份或者天数的长度只有一位时需要一个前导零补充。         请你帮小蓝计算下按上述条件一共能找到多少个不同的 2023 年的日期。对于相同的日期你只需要统计一次即可。 思路 这题就是一个老六题 我一开始以为是要找一个连续的子序列md然后一直过不了甚至跑出来的答案是0wdf玩神魔结果我又读了好几遍题目这也没说是连续的子序列啊于是我的代码就没有去找连续的子数列好家伙终于拿下了服了废了倦了。 代码思路 定义数据结构 mday数组存储了不同月份的天数其中二月份由于是2023非闰年所以是28天。num100数组包含一组100个整数用于与日期的每一位进行比对。nowTime数组初始值为20230000用于表示日期序列格式为YYYYMMDD。 处理每一个月 通过两重循环遍历一年中的每一天。外层循环代表月份i内层循环代表对应月份的天数j。为了构造当前日期nowTime数组需要根据循环变量i和j更新代表月和日的部分。月份的十位和个位分别由i / 10和i % 10给出存储到nowTime[4]和nowTime[5]中。日期的十位和个位由j / 10和j % 10给出存储到nowTime[6]和nowTime[7]中。 检查日期序列在num100中是否存在 对于每个nowTime所表示的日期调用checkHave函数来检查这个日期序列是否在num100数组中以非连续形式出现。checkHave函数通过两个指针p100和pnow分别在num100和nowTime上移动。如果两个指针所指元素相同则两个指针都往前移动如果不同那么只移动num100的指针。如果pnow达到8说明nowTime的所有数字都在num100中顺序出现过了这时函数返回1。否则如果在num100遍历完毕还未找到匹配返回0。 计数匹配的日期数 主循环里面会累加checkHave函数的返回值到变量res中。每次成功匹配找到nowTime中的日期序列在num100中以非连续形式存在计数器res增加1。 输出结果 最后输出的res变量表示在一年中发现的符合条件的日期数。 代码实现 import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {// 存储不同月份的天数int[] mday { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };int[] num100 { 5, 6, 8, 6, 9, 1, 6, 1, 2, 4, 9, 1, 9, 8, 2, 3, 6, 4, 7, 7, 5, 9, 5, 0, 3, 8, 7, 5, 8, 1, 5, 8, 6,1, 8, 3, 0, 3, 7, 9, 2, 7, 0, 5, 8, 8, 5, 7, 0, 9, 9, 1, 9, 4, 4, 6, 8, 6, 3, 3, 8, 5, 1, 6, 3, 4, 6, 7,0, 7, 8, 2, 7, 6, 8, 9, 5, 6, 5, 6, 1, 4, 0, 1, 0, 0, 9, 4, 8, 0, 9, 1, 2, 8, 5, 0, 2, 5, 3, 3 };// 初始数据int[] nowTime { 2, 0, 2, 3, 0, 0, 0, 0 };// resint res 0;for (int i 1; i 12; i) {// 获得月份// 如果是十月之后那么格式就是1x的格式nowTime[4] i / 10;// 取模得最后一位nowTime[5] i % 10;// 获得天数for (int j 1; j mday[i]; j) {// 取左边的数nowTime[6] j / 10;// 取右边的数nowTime[7] j % 10;res checkHave(num100, nowTime);}}System.out.println(res);}public static int checkHave(int[] num100, int[] nowTime) {// 定义出两个指针分别判断100个数和当前的序列样子int p100 0;int pnow 0;while (p100 100 pnow 8) {if (num100[p100] nowTime[pnow]) {// 如果当前位置对上了p100;pnow;}else {// 没对上p100;}}return pnow 8 ? 1 : 0;} } 这里的checkHave函数实际上是在检查nowTime数组中的数字序列是否在另一个较长的num100数组中以任意顺序出现不必连续。这意味着只要nowTime数组的所有元素都在num100数组中按顺序出现不必相邻就会返回1表明匹配成功否则返回0表示没有找到匹配的序列。 checkHave函数逐个比较nowTime数组中的数字与num100数组中的数字进行匹配。只要找到匹配的数字就同时将两个数组的指针向前移动依次检查nowTime数组中的下一个数字。如果num100中的数字与nowTime当前位置的数字不匹配则只移动num100的指针继续搜索下一个可能匹配的数字。当nowTime数组中的所有元素都成功匹配时即pnow达到数组的长度时函数返回1如果num100数组已遍历完成但未找到完全匹配的序列则返回0。 整个主程序的逻辑是生成一个日期序列并检查这个序列在num100数组中以任意顺序是否出现过。如果出现过则计数加一。最后输出这个计数表示在一年的日期中有多少个是在num100中可以找到匹配的序列的。 总结 我真的服啦这老六题目真的有时候能不能描述™清楚一点啊我*****
http://www.zqtcl.cn/news/505124/

相关文章:

  • 怎样搭建免费网站什么网站做网页好
  • flash工作室网站模板天津seo培训班在哪里
  • 怎么做游戏推广网站扬中商城官网
  • html5 公众号 网站开发顺德手机网站建设
  • 上海医疗网站备案表千库网是什么
  • 陕西省西安市制作网站二次元 wordpress主题
  • 十堰网站建设weitian帮人做logo网站
  • 网站怎么做商家定位长沙网站建设长沙建设银行
  • 山西省建设厅网站查询哈尔滨网站开发电话
  • 网站建设app律师网站素材
  • 安徽 网站建设丹阳杨文军
  • 燃烧学课程网站建设怎么做网站的登录界面
  • 邹城网站定制wordpress托管套餐
  • 沧州网站优化公司logo网站免费
  • 网站制作公司知道万维科技建设银行企业网站无法打印回单
  • 个人网站做贷款广告知乎关键词搜索
  • 常熟外贸网站建设网站突然显示 建设中
  • 宜昌市住房和城乡建设官方网站泗洪网页设计
  • 计算机软件网站建设北京加盟网站建设
  • 推广网站怎么建设和维护strange wordpress主题
  • 安徽省建设厅网站打不开湘潭做网站找磐石网络一流
  • 沈阳做网站哪好网站建设后续说明
  • 给个网站最新的2021在网站的标题上怎么做图标
  • h5做网站用什么框架seo推广计划
  • 亿企搜网站建设百度网盘怎么领取免费空间
  • 天津网站排名提升如何用h5做网站
  • 外贸公司有必要建设网站吗赣州做网站哪家好
  • 功能型网站设计深圳网站优化效果
  • 郑州定制网站开发规模以上工业企业总产值
  • 锡林浩特市长安网站 建设初步方案廊坊百度推广排名优化