javascript 机试题—蛇形数字

华为OD机试 - 蛇形矩阵(Python/JS/C/C++ 2024 E卷 100分) 本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。例如,当输入5时,应该输出的三角形为:1 3 6 10 152 5 9 144 8 137 1211输入正整数N(N不大于100)。输出一个N行的蛇形矩阵。41 3 6 10 2 5 9 4 阅读详情

在论坛上看到一个javascript的机试题,自己试着写了写,基本上实现了题目的要求:

有条蛇它长度不固定,蛇头朝北顺时针盘旋着,请打印出如下图的蛇形矩阵。答题时间40分钟。
9  9  9  9  9  9  9
8  6  6  6  6  6  9
8  6  3  3  4  7  9
8  5  3  1  4  7
8  5  2  2  4  7
8  5  5  5  4  7
8  8  8  7  7  7

 

源代码:

  •  
    • <html xmlns=" http://www.w3.org/1999/xhtml" >
      <head runat="server">
          <title>无标题页</title>
          <script language="javascript" type="text/javascript">
              var maxNum=9;
              var maxRow=7;
              var maxCol=7;
              var $get=document.getElementById;
              function initTable()
              {
                  var tr=null;
                  var td=null;
                  var table=null;
                  var tbody=null;
                  table=document.createElement("table");
                  //table=$get("table");
                  tbody=document.createElement("tbody");
                  //tbody=$get("newbody");
                  table.id="table_1";
                  table.style.display="block";
                  table.width="200px";
                  table.height="200px";
                  table.border=1;
                  for(var rI=1;rI<=7;rI++)
                  {
                      tr=document.createElement("tr");
                      tr.id="tr"+rI;
                      for(var colI=1;colI<=7;colI++)
                      {
                          td=document.createElement("td");
                          td.id="td"+rI+""+colI;
                          tr.appendChild(td);
                      }
                      tbody.appendChild(tr);
                  }
                  table.appendChild(tbody);
                  document.body.appendChild(table);
                  //alert($get("table_1"));
              }
              function fillData()
              {
                  var table=null;
                  var num=1;
                  var numIndex=1;
                  var de=1;
                  var startRow=4;
                  var startCol=4;
                  var rowIndex=startRow;
                  var colIndex=startCol;
                  var cell=null;
                  var dnumIndex=0;
                  var dMaxnum=1;
                  var span=null;
                  for(num=1;num<=9;num++)
                  {
                      for(numIndex=1;numIndex<=num;numIndex++)
                      {
                          cell=$get("td"+rowIndex+""+colIndex);
                          //alert(rowIndex+""+colIndex+document.getElementById("td"+rowIndex+""+colIndex));
                          cell.appendChild(document.createTextNode(num+""));
                          //alert("de:"+de+"---rowIndex:"+rowIndex+"---colIndex:"+colIndex+"---dnumIndex:"+dnumIndex+"---num:"+num);
                          dnumIndex++;
                          if(dnumIndex>=dMaxnum)
                          {
                              de=(de+1)%4;
                              dnumIndex=1;
                              if(de%2==0)
                                  dMaxnum++;
                          }
                          switch(de)
                          {
                              case 0:
                                  rowIndex--;
                                  break;
                              case 1:
                                  colIndex++;
                                  break;
                              case 2:
                                  rowIndex++;
                                  break;
                              case 3:
                                  colIndex--;
                                  break;
                              default:
                                  break;
                          }
                          //alert("de:"+de+"---rowIndex:"+rowIndex+"---colIndex:"+rowIndex+"---dnumIndex:"+dnumIndex);
                      }
                  }
              }
          </script>
      </head>
      <body>
          <form id="form1" runat="server">
          <div id="s">
          </div>
          </form>
          <script language="javascript">
              //init();
              initTable();
              fillData()
          </script>
      </body>
      </html>

    • 长度不限制,程序可以稍作修改,通过传入的参数动态生成。

  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
华为OD机试 新系统 双机位C卷 往年真题 机考题库(持续收录中)以及算法考点详解(Python/JS/C/C++) 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释发现新题目,随时更新。 阅读详情

相关推荐

跨阻放大器(TIA)的输入输出阻抗的定义、分析和影响因素

跨阻放大器(Transimpedance Amplifier,简称TIA)是一种常用于将电流信号转换为电压信号的放大器。在TIA电路中,输入阻抗是指输入端对电流信号的响应能力,输出阻抗是指输出端对负载电阻的驱动能力。本文将分别介绍TIA的输入和输出阻抗的定义、分析以及影响因素。

weixin_44378594的博客 1万+

蛇形填数 js

例:在n×n方阵里填入1,2,…,n×n,要求填成蛇形。 例如,n=4时方阵为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 function Snake (n) { let a=new Array(n).fill(0).map(x=>new Array(n).fill(0)); var x = 0,y = n-1,num = 1; va...

yuanfangyoushan的博客 412

【RDMA】13. RDMA之用户态与内核态交互

原文:https://zhuanlan.zhihu.com/p/346708569 在“RDMA之Verbs”一文中我们说道,Verbs API分为用户态和内核态,分别以ibv_和ib_作为前缀。RDMA技术的最大的优势就在于用户态可以绕过内核,直接控制硬件收发数据,减少了系统调用和内存拷贝次数,所以大部分的RDMA应用都是用户态应用,即使用以ibv_为前缀的用户态Verbs API。 但是并非所有的用户态Verbs API都可以完全绕开内核,本文中我来讲解一下哪些API依赖于内核RDMA子系统(包括驱

我的笔记本 4285

javascript 树形结构数据打印

const list = [{ id: 1001, parentId: 0, name: 'AA' }, { id: 1002, parentId: 1001, name: 'BB' }, { id: 1003, parentId: 1001, name: 'CC' }, { id: 1004, parentId: 1003, name: 'DD' }, {

weixin_43720534的博客 1103

Obsidian + AI 自动知识管理:手把手教程

装完后,在命令面板(Ctrl+P)搜 "Generate Summary",AI 会在当前笔记末尾追加一段摘要。你一个月前写的、现在想快速回顾的笔记长篇笔记(三千字以上)开会记录这类信息密集的内容过度自动化。有人装上插件后,所有笔记都让 AI 打标签、写摘要、找关联。最后笔记库看起来整整齐齐,但全都是 AI 的链接,你自己完全没参与。这样做的后果是什么?你写过的笔记跟你没有"真实连接"。你还是记不住。你还是不知道自己的知识库里有什么。AI 推荐,你决策。

weixin_43571227的博客 748

文献阅读笔记:量子微波测量技术综述

量子微波测量技术研究进展:量子微波测量技术利用里德堡原子与微波电场的相干相互作用,突破了传统测量方法的物理限制。该技术基于电磁诱导透明效应和里德堡原子能级跃迁原理,通过激光激发原子并监测光谱变化来测量微波电场强度。相比传统方法,量子微波测量具有超高灵敏度(理论极限可达nV/cm)、宽动态范围(超过100dB)、小型化等显著优势,且测量结果可直接溯源至普朗克常数。典型实验系统包括光源、原子气室和探测器,采用光谱法、干涉法等多种测量方法。近年来,该技术在基础研究和应用方面取得重要进展,展现出在通信、雷达、计量等

Grow into a more wonderful you 989

44道JS难题,做对一半就是高手

来源 |https://www.jianshu.com/p/e161bd720e64国外某网站给出了44道JS难题,试着做了下,只做对了17道。这些题涉及面非常广,涵盖JS原型、函数细...

web前端开发 534

FFTW库安装与使用(3.3.5版本)

FFTW库安装与使用一、FFTW库介绍与下载二、FFTW库安装三、FFTW库测试 一、FFTW库介绍与下载   FFTW ( the Faster Fourier Transform in the West) 是一个快速计算离散傅里叶变换的标准C语言程序集,其由MIT的M.Frigo 和S. Johnson 开发。可计算一维或多维实和复数据以及任意规模的DFT,且运行速度比Eigen和opencv自带的FFT库函数快10倍以上。   下载链接:http://www.fftw.org/install/wind

Jhon_ranble的博客 2万+

蛇形文字

 下面是蛇形文字的源码: New Document .laystyle{position:absolute;font-size:12pt;font-weight:bold;var theX=0;theY=0;//分别表示鼠标当前的X坐标和Y坐标var space1=15;var space2=15;var flag=0;var n=0;var message="Welcom

successful_lb的专栏 1903

CMN-700组件全解析:从XP路由器到HN-F主节点的实战配置指南

本文深入解析Arm CMN-700片上网络IP的核心组件与实战配置。重点剖析了XP网格路由器的拓扑规划与CHI通道管理,以及HN-F全一致性主节点在维护缓存一致性、管理SLC和地址映射中的关键作用。通过一个12×12网格的配置案例,为硬件工程师提供了从组件布局、地址映射到性能调优的系统级设计指南。

weixin_29313423的博客 285

第一节:初识n8n与下一代工作流自动化

本章介绍了n8n的Fair-code理念与节点式架构,对比了其与Zapier/Make的核心差异,并引导读者在n8n Cloud上完成首次界面导览,建立了工作流自动化的宏观认知。

easeyoo的专栏 106

【华为机试题】整数与IP地址间的转换和蛇形矩阵

1 整数与IP地址间的转换 function iptoNumber(ip){ let A=ip.split('.').map(v=>Number(v)); let num=''; for(let value of A){ let k=value.toString(2);//将每个数字转为二进制串 if(k.length<8){ for(let i=k.length;i<8;i++){

wind的博客 198

AutoCAD中圆弧折线化方法与实现

在AutoCAD中,圆弧折线化是将圆弧曲线转换为由一系列线段组成的折线曲线的过程。本文将介绍如何使用LISP编写代码来实现圆弧折线化,并提供相应的源代码。上述示例代码将生成一个以坐标原点为圆心、起点为(5.0, 0.0, 0.0)、终点为(0.0, 5.0, 0.0)、半径为5.0、角度为90度的圆弧的折线表示。通过使用上述的LISP代码,你可以在AutoCAD中实现将圆弧转换为折线的功能。你可以根据需要修改代码中的参数来适应不同的圆弧转换需求。函数,并传入圆弧的起点、终点、圆心、半径和角度参数。

VcuOcaml的博客 1418

JavaScript 字符串面试题

编写一个函数,判断一个字符串是否是有效的括号序列。字符串中只包含 ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ 和 ‘]’ 这些字符,并且括号必须以正确的顺序闭合。编写一个函数,将给定的字符串转换为蛇形命名法(snake case)。编写一个函数,判断一个字符串是否是有效的回文子串。字符串只包含字母和数字,忽略字母的大小写。编写一个函数,统计字符串中每个字符出现的次数,并返回一个包含字符及其对应出现次数的对象。编写一个函数,将字符串中的单词按照字母顺序进行排序,并返回排序后的字符串。

qq_42431718的博客 360

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

华为笔试题--蛇形矩阵

1 #include <iostream> 2 #include <vector> 3 using namespace std; 4 5 int main() 6 { 7 int n; 8 while(cin >> n) { 9 vector<vector<int>>...

weixin_30621919的博客 183

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Leecode 二叉树的锯齿形层序遍历(蛇形打印)

文章目录题目面试题解法我们想象一下遍历过程代码题外(如何构建leecode的二叉树) 题目 二叉树的锯齿形层序遍历 给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 面试题 曾经在腾讯新零售一面就遇到这道题,蛇形打印二叉树。 解法 这是一个二叉树,蛇形打印。 我们想象一下遍历过程 遍历上一行的时候,下一行的节点是跟上一行的从哪到哪的方向一致的,数字是相反的! 第一轮:节点1开始遍历,从左往右:节点一样从左往右,节点是[2,3],

大鸡腿的博客 621

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

[动态规划] 蛇行序列(snake sequence)

You are given a grid of numbers. A snake sequence is made up of adjacent numbers such that for each number, the number on the right or the number below it is +1 or -1 its value. For example, 1 3 2

Sammy Lan-Promises Don't Come Easy! 1503

3月23日(题解)

模拟

m0_73173330的博客 210

代码命名规范实战:Java与Python命名风格详解与最佳实践

在软件开发中,命名规范是提升代码可读性、可维护性和团队协作效率的基础工程实践。其核心原理在于通过统一的语义化标识符,建立代码元素与其功能意图的清晰映射,从而降低认知负荷。良好的命名规范具有显著的技术价值,它不仅是代码即文档理念的体现,更能减少潜在错误,是构建高质量、可扩展软件系统的基石。在应用场景上,无论是Java的驼峰命名法还是Python的蛇形命名法,都需遵循清晰性、一致性等核心原则,并应用于变量、函数、类等各类代码元素。本文以用户管理系统为例,深入探讨了命名规范在工程实践中的具体应用,涵盖了从基础概念

weixin_30430169的博客 574

回旋矩阵

这是深圳某处的一个面试题,要求打印出如下格式: inti=5; 12 3 4 5161718196152425207142322218131211109inti=61 234 5620212223247193233342581831363526...

weixin_30907523的博客 144

好事多磨!6轮面试后终于拿到字节前端校招offer(内含6轮面经)(1)

给大家分享一些关于HTML的面试题,有需要的朋友可以戳这里免费领取,先到先得哦。讲义、实战项目、讲解视频,并且会持续更新!**如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)[外链图片转存中…(img-JebrqxyQ-1713764991553)]给大家分享一些关于HTML的面试题,有需要的朋友可以戳这里免费领取,先到先得哦。[外链图片转存中…(img-N4pI9rA2-1713764991554)][外链图片转存中…(img-8PVD4Qr7-1713764991554)]

2401_84091321的博客 395

MetaAPP笔试复盘(我真的很菜,还有1/3多没做完)

是线下面试,下午一点开始,进去找到自己的面试官就可以开始了。动态规划定义dp[i][j] 为0-i-1 与 0-j-1 的最长公共子序列的长度如果当前i与j的字。题目解释这道题说白了就是给一个区间,在一个循环队列中寻找一个特定的数字,并将些相同的数字对应的下标两。Vue.js的双向绑定是通过响应式系统实现的。3-25投递,3-30一面,10分钟kpi速通,问我集成运放的内部结构,忘了,好,没问题了,,就这么。Node.js的事件循环是一种异步编程模型,基于单线程进行事件驱动的处理。

Buoluochuixue的博客 982

最新好事多磨!6轮面试后终于拿到字节前端校招offer(内含6轮面经),web页面开发

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】若封装一个组件,你会考虑什么?后面还讲了一个具体的组件封装例子,问我的思路双向绑定、数据响应式的实现一道函数柯里化防抖、节流给你1亿个数字,找出最大的前1K个,如何优化效率比较高图的方法有哪些?(广度、深度)一个迷宫,从任意一个起点,求到终点的最短距离反问环节。

2401_84617131的博客 440

Python基础语法-数据类型总结&Debug调试

一.数据类型总结 1.变量 2.标识符 3.数据类型 4.数据运算 5.扩展 二.Debug调试

Ly_LittleStar的博客 420
上一篇: javascript解析XML生成树形结构
下一篇: XDOCBuilder分析(一)
carroll0911
博客等级 码龄17年 27粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值