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

怎么做58同城网站微信小程序与微网站

怎么做58同城网站,微信小程序与微网站,wordpress 删除线,重点实验室网站建设的研究现状202309-2 坐标变换#xff08;其二#xff09; 题解1题解2区别第一种算法#xff08;使用ArrayList存储操作序列#xff09;#xff1a;数据结构#xff1a;操作序列处理#xff1a; 第二种算法#xff08;使用两个数组存储累积结果#xff09;#xff1a;数据结构其二 题解1题解2区别第一种算法使用ArrayList存储操作序列数据结构操作序列处理 第二种算法使用两个数组存储累积结果数据结构操作序列处理 对比效率简洁性可读性 题解1 import java.util.ArrayList; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);int n scan.nextInt(); // 操作次数int m scan.nextInt(); // 初始坐标个数// 存储操作序列的ArrayList每个操作为长度为2的double数组ArrayListdouble[] op new ArrayList();// 初始化所有操作的累积倍数为1for (int i 0; i n; i) {op.add(new double[] {1, 0}); // 初始操作是不进行变换k1, sita0}// 读取每个操作的类型和值并存储到op中for (int i 1; i n; i) {int type scan.nextInt(); // 操作类型1表示乘法2表示加法double val scan.nextDouble(); // 操作值if (type 1) {// 如果是乘法操作更新k值sita不变op.set(i, new double[] {op.get(i - 1)[0] * val, op.get(i - 1)[1]});} else {// 如果是加法操作更新sita值k不变op.set(i, new double[] {op.get(i - 1)[0], op.get(i - 1)[1] val});}}// 对每个初始坐标进行操作并输出结果for (int i 0; i m; i) {int l scan.nextInt(); // 左边界int r scan.nextInt(); // 右边界double x scan.nextDouble(); // 初始x坐标double y scan.nextDouble(); // 初始y坐标// 计算从l到r的累积旋转角度和累积缩放倍数double sum_sita op.get(r)[1] - op.get(l - 1)[1];double sum_k op.get(r)[0] / op.get(l - 1)[0];// 根据公式计算最终的坐标double nx x * Math.cos(sum_sita) - y * Math.sin(sum_sita);double ny x * Math.sin(sum_sita) y * Math.cos(sum_sita);// 输出结果System.out.println(nx * sum_k ny * sum_k);}scan.close();} }题解2 import java.util.ArrayList; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);int n scan.nextInt(); // 操作次数int m scan.nextInt(); // 初始坐标个数// 存储操作序列的ArrayList每个操作为长度为2的double数组ArrayListdouble[] op new ArrayList();// 初始化所有操作的累积倍数为1for (int i 0; i n; i) {op.add(new double[] {1, 0}); // 初始操作是不进行变换k1, sita0}// 读取每个操作的类型和值并存储到op中for (int i 1; i n; i) {int type scan.nextInt(); // 操作类型1表示乘法2表示加法double val scan.nextDouble(); // 操作值if (type 1) {// 如果是乘法操作更新k值sita不变op.set(i, new double[] {op.get(i - 1)[0] * val, op.get(i - 1)[1]});} else {// 如果是加法操作更新sita值k不变op.set(i, new double[] {op.get(i - 1)[0], op.get(i - 1)[1] val});}}// 对每个初始坐标进行操作并输出结果for (int i 0; i m; i) {int l scan.nextInt(); // 左边界int r scan.nextInt(); // 右边界double x scan.nextDouble(); // 初始x坐标double y scan.nextDouble(); // 初始y坐标// 计算从l到r的累积旋转角度和累积缩放倍数double sum_sita op.get(r)[1] - op.get(l - 1)[1];double sum_k op.get(r)[0] / op.get(l - 1)[0];// 根据公式计算最终的坐标double nx x * Math.cos(sum_sita) - y * Math.sin(sum_sita);double ny x * Math.sin(sum_sita) y * Math.cos(sum_sita);// 输出结果System.out.println(nx * sum_k ny * sum_k);}scan.close();} }区别 第一种算法使用ArrayList存储操作序列 数据结构 使用了ArrayListdouble[]来存储操作序列。 每个操作是一个长度为2的double数组存储了操作的缩放倍数和旋转角度。 操作序列处理 在读取每个操作时将其存储为一个数组然后放入ArrayList中。 对每个操作序列进行遍历根据操作类型更新缩放倍数和旋转角度。 每次操作都要通过ArrayList的get和set方法来获取和更新操作可能需要多次遍历操作序列。 第二种算法使用两个数组存储累积结果 数据结构 使用两个数组double[] k和double[] sita来分别存储累积的缩放倍数和旋转角度。 k数组存储缩放倍数sita数组存储旋转角度。 操作序列处理 在读取每个操作时直接根据操作类型更新对应的数组元素。 操作序列处理时不需要遍历直接根据索引获取和更新操作。 对比 效率 第一种算法使用ArrayList操作时需要多次调用get和set方法可能会造成性能损失特别是在大量数据时。 第二种算法使用数组直接根据索引获取和更新操作更加高效。 简洁性 第一种算法使用了ArrayList需要定义和操作ArrayList代码相对复杂一些。 第二种算法直接使用数组代码结构更简洁。 可读性 两种算法在理解上都是相对清晰的但对于不熟悉ArrayList的人来说第二种算法可能更容易理解。 总体来说第二种算法使用数组直接存储累积结果更加高效和简洁而第一种算法使用了ArrayList可能会在性能上稍逊一些。在处理大量数据时第二种算法更为推荐。
http://www.pierceye.com/news/448851/

相关文章:

  • 域名注册最好的网站人才网站
  • 网站建设咨询云尚网络中铁十二局出国招工
  • 建站系统推荐做网站在哪里做
  • 贵州建设工程招标协会网站wordpress黑白主题
  • 怎么免费建立自己网站扁平化网站设计
  • 可以自己做漫画的网站北仑营销型网站制作
  • 免费网站统计代码有什么样的网站开发
  • 文山微网站建设湖南人工智能建站系统软件
  • 做网站时候编代码wordpress 技术博客主题
  • 成立网站建设工作领导小组seo网站关键词优化软件
  • 怎么兼职做网站网站建设 运维 管理包括
  • 乐清市住房和城乡建设规划局网站专业做家居的网站
  • 做3d打印网站苏州建设工程人才招聘网信息网站
  • 网站建设丂金手指科杰wordpress中logo大小
  • 微餐饮网站建设被老板抓到用公司产品做自己的网站
  • 软件公司网站模板下载定制搭建网站
  • 网站建设实训报告要求怎么做公司门户网站
  • 深圳规划建设局网站wordpress改变访问目录
  • dw怎么做购物网站o2o平台都有哪些
  • 阿里云备案多个网站吗应用商店下载app软件
  • 响应式网站手机端尺寸网站开发培训心得
  • 徐州手机网站开发公司电话江苏五星建设网站
  • 网站建设全包广做短视频素材哪里找
  • 做网站为什么每年都要续费企业官网建站步骤
  • 培训行业门户网站建设方案专业网站运营制作
  • 百度网站两两学一做心得体会江苏专业网站建设费用
  • 做企业网站的架构图网站上的销售怎么做
  • 网站开发思维导图内容淘宝客在百度推广网站么做
  • 国外美容网站crm开发
  • 辽宁建设资质申报网站wordpress提示插件安装