在论坛上看到一个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">
相关推荐
跨阻放大器(TIA)的输入输出阻抗的定义、分析和影响因素
跨阻放大器(Transimpedance Amplifier,简称TIA)是一种常用于将电流信号转换为电压信号的放大器。在TIA电路中,输入阻抗是指输入端对电流信号的响应能力,输出阻抗是指输出端对负载电阻的驱动能力。本文将分别介绍TIA的输入和输出阻抗的定义、分析以及影响因素。
蛇形填数 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...
【RDMA】13. RDMA之用户态与内核态交互
原文:https://zhuanlan.zhihu.com/p/346708569 在“RDMA之Verbs”一文中我们说道,Verbs API分为用户态和内核态,分别以ibv_和ib_作为前缀。RDMA技术的最大的优势就在于用户态可以绕过内核,直接控制硬件收发数据,减少了系统调用和内存拷贝次数,所以大部分的RDMA应用都是用户态应用,即使用以ibv_为前缀的用户态Verbs API。 但是并非所有的用户态Verbs API都可以完全绕开内核,本文中我来讲解一下哪些API依赖于内核RDMA子系统(包括驱
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' }, {
Obsidian + AI 自动知识管理:手把手教程
装完后,在命令面板(Ctrl+P)搜 "Generate Summary",AI 会在当前笔记末尾追加一段摘要。你一个月前写的、现在想快速回顾的笔记长篇笔记(三千字以上)开会记录这类信息密集的内容过度自动化。有人装上插件后,所有笔记都让 AI 打标签、写摘要、找关联。最后笔记库看起来整整齐齐,但全都是 AI 的链接,你自己完全没参与。这样做的后果是什么?你写过的笔记跟你没有"真实连接"。你还是记不住。你还是不知道自己的知识库里有什么。AI 推荐,你决策。
文献阅读笔记:量子微波测量技术综述
量子微波测量技术研究进展:量子微波测量技术利用里德堡原子与微波电场的相干相互作用,突破了传统测量方法的物理限制。该技术基于电磁诱导透明效应和里德堡原子能级跃迁原理,通过激光激发原子并监测光谱变化来测量微波电场强度。相比传统方法,量子微波测量具有超高灵敏度(理论极限可达nV/cm)、宽动态范围(超过100dB)、小型化等显著优势,且测量结果可直接溯源至普朗克常数。典型实验系统包括光源、原子气室和探测器,采用光谱法、干涉法等多种测量方法。近年来,该技术在基础研究和应用方面取得重要进展,展现出在通信、雷达、计量等
44道JS难题,做对一半就是高手
来源 |https://www.jianshu.com/p/e161bd720e64国外某网站给出了44道JS难题,试着做了下,只做对了17道。这些题涉及面非常广,涵盖JS原型、函数细...
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
蛇形文字
下面是蛇形文字的源码: 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
CMN-700组件全解析:从XP路由器到HN-F主节点的实战配置指南
本文深入解析Arm CMN-700片上网络IP的核心组件与实战配置。重点剖析了XP网格路由器的拓扑规划与CHI通道管理,以及HN-F全一致性主节点在维护缓存一致性、管理SLC和地址映射中的关键作用。通过一个12×12网格的配置案例,为硬件工程师提供了从组件布局、地址映射到性能调优的系统级设计指南。
第一节:初识n8n与下一代工作流自动化
本章介绍了n8n的Fair-code理念与节点式架构,对比了其与Zapier/Make的核心差异,并引导读者在n8n Cloud上完成首次界面导览,建立了工作流自动化的宏观认知。
【华为机试题】整数与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++){
AutoCAD中圆弧折线化方法与实现
在AutoCAD中,圆弧折线化是将圆弧曲线转换为由一系列线段组成的折线曲线的过程。本文将介绍如何使用LISP编写代码来实现圆弧折线化,并提供相应的源代码。上述示例代码将生成一个以坐标原点为圆心、起点为(5.0, 0.0, 0.0)、终点为(0.0, 5.0, 0.0)、半径为5.0、角度为90度的圆弧的折线表示。通过使用上述的LISP代码,你可以在AutoCAD中实现将圆弧转换为折线的功能。你可以根据需要修改代码中的参数来适应不同的圆弧转换需求。函数,并传入圆弧的起点、终点、圆心、半径和角度参数。
JavaScript 字符串面试题
编写一个函数,判断一个字符串是否是有效的括号序列。字符串中只包含 ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ 和 ‘]’ 这些字符,并且括号必须以正确的顺序闭合。编写一个函数,将给定的字符串转换为蛇形命名法(snake case)。编写一个函数,判断一个字符串是否是有效的回文子串。字符串只包含字母和数字,忽略字母的大小写。编写一个函数,统计字符串中每个字符出现的次数,并返回一个包含字符及其对应出现次数的对象。编写一个函数,将字符串中的单词按照字母顺序进行排序,并返回排序后的字符串。
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>>...
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
Leecode 二叉树的锯齿形层序遍历(蛇形打印)
文章目录题目面试题解法我们想象一下遍历过程代码题外(如何构建leecode的二叉树) 题目 二叉树的锯齿形层序遍历 给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 面试题 曾经在腾讯新零售一面就遇到这道题,蛇形打印二叉树。 解法 这是一个二叉树,蛇形打印。 我们想象一下遍历过程 遍历上一行的时候,下一行的节点是跟上一行的从哪到哪的方向一致的,数字是相反的! 第一轮:节点1开始遍历,从左往右:节点一样从左往右,节点是[2,3],
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
3月23日(题解)
模拟
代码命名规范实战:Java与Python命名风格详解与最佳实践
在软件开发中,命名规范是提升代码可读性、可维护性和团队协作效率的基础工程实践。其核心原理在于通过统一的语义化标识符,建立代码元素与其功能意图的清晰映射,从而降低认知负荷。良好的命名规范具有显著的技术价值,它不仅是代码即文档理念的体现,更能减少潜在错误,是构建高质量、可扩展软件系统的基石。在应用场景上,无论是Java的驼峰命名法还是Python的蛇形命名法,都需遵循清晰性、一致性等核心原则,并应用于变量、函数、类等各类代码元素。本文以用户管理系统为例,深入探讨了命名规范在工程实践中的具体应用,涵盖了从基础概念
回旋矩阵
这是深圳某处的一个面试题,要求打印出如下格式: inti=5; 12 3 4 5161718196152425207142322218131211109inti=61 234 5620212223247193233342581831363526...
好事多磨!6轮面试后终于拿到字节前端校招offer(内含6轮面经)(1)
给大家分享一些关于HTML的面试题,有需要的朋友可以戳这里免费领取,先到先得哦。讲义、实战项目、讲解视频,并且会持续更新!**如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)[外链图片转存中…(img-JebrqxyQ-1713764991553)]给大家分享一些关于HTML的面试题,有需要的朋友可以戳这里免费领取,先到先得哦。[外链图片转存中…(img-N4pI9rA2-1713764991554)][外链图片转存中…(img-8PVD4Qr7-1713764991554)]
MetaAPP笔试复盘(我真的很菜,还有1/3多没做完)
是线下面试,下午一点开始,进去找到自己的面试官就可以开始了。动态规划定义dp[i][j] 为0-i-1 与 0-j-1 的最长公共子序列的长度如果当前i与j的字。题目解释这道题说白了就是给一个区间,在一个循环队列中寻找一个特定的数字,并将些相同的数字对应的下标两。Vue.js的双向绑定是通过响应式系统实现的。3-25投递,3-30一面,10分钟kpi速通,问我集成运放的内部结构,忘了,好,没问题了,,就这么。Node.js的事件循环是一种异步编程模型,基于单线程进行事件驱动的处理。
最新好事多磨!6轮面试后终于拿到字节前端校招offer(内含6轮面经),web页面开发
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】若封装一个组件,你会考虑什么?后面还讲了一个具体的组件封装例子,问我的思路双向绑定、数据响应式的实现一道函数柯里化防抖、节流给你1亿个数字,找出最大的前1K个,如何优化效率比较高图的方法有哪些?(广度、深度)一个迷宫,从任意一个起点,求到终点的最短距离反问环节。
Python基础语法-数据类型总结&Debug调试
一.数据类型总结 1.变量 2.标识符 3.数据类型 4.数据运算 5.扩展 二.Debug调试
1万+



被折叠的 条评论
为什么被折叠?



