星际密码(编程题解)
题目
他们的密码是一串整数,通过一张表里的信息映射成最终4位密码。表的规则是:n对应的值是矩阵X的n次方的左上角,如果这个数不足4位则用0填充,如果大于4位的则只输出最后4位。题解思路
是一个变式的斐波那契数列
初始化斐波那契数列,每一次获取对应数据,打印最后四位代码思路
new一个数组——
int[] nums = new int[10001];
( 注:10001防止越界初始化斐波那契数列——
nums[1] = 1;
nums[2] = 2;循环读取矩阵中的数字——
for(int i=3; i<10001; i++){
nums[i] = nums[i-1] + nums[i-2];
//获取斐波那契数列的每个值
nums[i] = nums[i]%10000;
//目标为取四位中的最后一位
}new Scanner(System.in)
循环输入——
while(sc.hasNext()){
StringBuilder sb = new StringBuilder();
int n = sc.nextInt();
for(int i=0; i<n; i++){
int xi = sc.nextInt();
sb.append(String.format("%04d", nums[xi]));
}
System.out.println(sb);
}
可查漏补缺的点
一、String和StringBuilder和StringBuffer——
- 1.可变不可变
String:是字符串常量,在修改时不会改变自身,若修改,等于重新生成新的字符串对象。
StringBuffer:在修改时会改变对象自身,每次操作都是对StringBuffer对象自身进行修改,不是生成新的对象。使用场景:用于对字符串经常改变的情况下。主要方法有: append(),insert(),delete(),replace(),reverse()等。
- 2.线程是否安全
String:对象定义后不可变,线程安全。
StringBuffer:是线程安全的(对调用方法加入同步锁),执行效率较慢,适用于多线程下操作字符串缓冲区大量数据。
StringBuilder:是线程不安全的,适用于单线程下操作字符串缓冲区大量数据。
- 3.共同点:
StringBuilder和StringBuffer有共同的父类AbstractStringBuilder(抽象类)。
StringBuilder和StringBuffer的方法都会调用AbstractStringBuilder中的公共方法,如super.append(…),只是StringBuffer会在方法上加上synchronized关键字进行同步。
最后,如果程序不是多线程的,那么使用StringBuilder效率高于StringBuffer。
二、String.fomat()——创建格式化的字符串以及连接多个字符串对象
部分转载于:https://www.huaweicloud.com/articles/5b7fdd32d41a39c78ab6364097829deb.html
星际密码(编程题解)相关推荐
- 【编程题 】星际密码(详细注释 易懂)
题目描述 题目链接:星际密码__牛客网 星际战争开展了100年之后,NowCoder终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码.表的规则是:n对应的值 ...
- 【算法刷题日记之本手篇】星际密码与数根
⭐️前面的话⭐️ 本篇文章介绍来自牛客试题广场的两道题题解,分别为[星际密码]和[数根],展示语言java. 小贴士:本专栏所有题目来自牛客->面试刷题必用工具
- 【牛客网】树根与星际密码
目录 一.编程题 1.树根 2.星际密码 二.选择题 一.编程题 1.树根 链接:数根__牛客网 (nowcoder.com) 数根可以通过把一个数的各个位上的数字加起来得到.如果得到的数是一位数,那 ...
- 【牛客刷题22】数根与星际密码
文章目录 题目一:数根 1.题目内容 2.思路 3.代码实现 题目二:星际密码 1.题目内容 2.思路 3.代码实现 题目一:数根 1.题目内容 题目链接:数根 2.思路 这里需要注意: ...
- 【Java版oj】day25星际密码、数根
目录 一.洗牌 (1)原题再现 (2)问题分析 (3)完整代码 二.数根 (1)原题再现 (2)问题分析 (3)完整代码 一.洗牌 (1)原题再现 星际密码__牛客网 星际战争开展了100年之后,No ...
- Java题目训练——星际密码和数根
目录 一.星际密码 二.数根 一.星际密码 题目描述: 星际战争开展了100年之后,NowCoder终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码.表的规则是:n对 ...
- 刷题_25:星际密码 and 数根
一.星际密码 题目链接: 星际密码 题目描述: 星际战争开展了100年之后,NowCoder终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码.表的规则是:n对应的值是 ...
- 刷题笔记之十一 (计算字符串的编辑距离+微信红包+年终奖+迷宫问题+星际密码+数根)
目录 1. 计算字符串的编辑距离 2. 微信红包 3. 双向链表修改,比如插入新的结点,一定要画图 4. 一颗完全二叉树第六层有9个叶结点(根为第一层),则结点个数最多有109 5. 将N条长度均为M ...
- 刷题日记【第十三篇】-笔试必刷题【数根+星际密码+跳台阶扩展问题+快到碗里来】
刷题日记[第十三篇]-笔试必刷题[数根+星际密码+跳台阶扩展问题+快到碗里来] 1.方法区在JVM中也是一个非常重要的区域,它与堆一样,是被[线程共享]的区域. 下面有关JVM内存,说法错误的是?(c ...
- 星际密码———递归式
文章目录 1 题目 2 解析 3 参考代码 1 题目 星际密码 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 ...
最新文章
- 【Java】 链表的回文结构
- 蚂蚁金服“刷脸”支付技术解读:错误率低于百万分之一
- java实现责任链模式_我的Java设计模式-责任链模式
- WebService它CXF注释错误(两)
- linux e盘路径,Linux添加路径到PATH环境变量
- docker 进入容器命令_Docker容器常用命令分享,赶紧收藏
- 删除Windows 7自动创建的隐藏分区
- 识别Win10系统两种方法
- spring揭秘 读书笔记 六 bean的一生
- mysql 右模糊_面试小知识:MySQL索引相关
- lambda表达式python_python lambda表达式用法
- 如何在新系统下重玩老游戏
- 计算机ppt密码是什么,PPT怎么设置密码 PPT密码设置教程-电脑教程
- 关于代码运行速度与cpu关系的一点小事
- 什么是数据运营?数据运营是做什么的?
- ES3之cookie
- 雅虎终于死了:从市值 1000 亿到贱卖 48 亿,到最后连名字都没保住
- GoLang之浅析unsafe.Pointer与uintptr
- java零基础学习笔记(代码+注解+练习)_面向对象OOP
- tomcat配置-超有效-80岁奶奶用了都说好
热门文章
- Win 10操作系统与艾字节大数据的密切关系
- 六度空间-用图进行BFS遍历
- 联想微型计算机3000 c305,桌面一体机新宠 联想3000 C305评测
- 下载哈姆雷特英文版并实现文本词频统计以及生成词云图
- 热插拔技术--以ADM1177为例说明
- python实现KDJ指标模型 量化策略 python 策略开发
- Educational Codeforces Round 124 (Rated for Div. 2)D. Nearest Excluded Points
- 云计算 openstack 云平台搭建详细教程(基于 Vmware 虚拟机搭建)
- pycharm make directory as excluded
- 我不是药神--格列卫诞生记