社区
ASP
帖子详情
上周面试遇到的几个问题,与大家分享!
orrin
2003-04-14 03:19:40
1、 4个棋子,放在4x4的棋盘上,让斜、横、竖最多只有一个棋子的摆法有多少种?
2、 5封信,5个信封,假设一个信封只能装一封信,问有多少种完全装错的可能?
3、 用一句sql语句找出表td customer中的主关键字段。
...全文
117
5
打赏
收藏
上周面试遇到的几个问题,与大家分享!
1、 4个棋子,放在4x4的棋盘上,让斜、横、竖最多只有一个棋子的摆法有多少种? 2、 5封信,5个信封,假设一个信封只能装一封信,问有多少种完全装错的可能? 3、 用一句sql语句找出表td customer中的主关键字段。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
心云意水
2003-04-14
打赏
举报
回复
第一个问题:2种。纠正一下:是四王后,不是八个:)
程序实现:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>四皇后算法演示</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<style>
TD{padding-left: 12px; background-color: white}
</style>
</HEAD>
<BODY>
<!-- 棋盘布局 -->
<table id="h_Board" border="0" style="background-color:#336699">
<tr>
<td> </td><td> </td><td> </td><td> </td>
</tr>
<tr>
<td> </td><td> </td><td> </td><td> </td>
</tr>
<tr>
<td> </td><td> </td><td> </td><td> </td>
</tr>
<tr>
<td> </td><td> </td><td> </td><td> </td>
</tr>
</table>
<BR>
<table id="h_MakeTabBox">
<tr>
</tr>
</table>
<BR>
<SCRIPT LANGUAGE="JavaScript">
<!--
var aoPlayList = new Array(); // 演示动作播放表
var aoMakeTab = new Array(); // 有效棋盘 完成的帧
var iPlayFrame = 0; // 播放帧
var iMakeTab = 0;
function fnRunBoard(v_iRow, v_iCount)
{
var t_aoOne;
if(v_iRow >= v_iCount)
aoMakeTab[aoMakeTab.length] = aoPlayList.length -1;
else
{
for(i=0; i < v_iCount; i++)
{
//alert("判断到 i:"+i);
t_aoOne = fnAddOne(v_iRow, i); // 加入播放表--放置棋子,并返回 [row,cell] 的数组
if( fnCanNext(t_aoOne, v_iCount) ) // 如果符合要求,则进行下一行的布置
{
//alert("通过 r:"+t_aoOne[0]+" c:"+t_aoOne[1]);
fnRunBoard(v_iRow+1, v_iCount);
}
else
{
//alert("不通过 r:"+t_aoOne[0]+" c:"+t_aoOne[1]);
}
fnDeleteOne(v_iRow, t_aoOne[1]); // 加入播放列表--移除棋子
i = t_aoOne[1];
}
}
}
//
// 放置棋子 fnAddOne
//
function fnAddOne(v_iRow, v_iCell)
{
var t_aoArray = new Array(v_iRow, v_iCell);
aoPlayList[aoPlayList.length] = "A|"+v_iRow+"|"+v_iCell; // 加入到动作播放列表
try
{
h_Board.rows[v_iRow].cells[v_iCell].title = "H"; // 在对应的单元格内放置标志,用于判断
}
catch(e)
{
return alert("R "+ v_iRow+ " C " + v_iCell);
}
return t_aoArray;
}
//
// 移除棋子 fnDeleteOne
//
function fnDeleteOne(v_iRow, v_iCell)
{
aoPlayList[aoPlayList.length] = "D|"+v_iRow+"|"+v_iCell; // 加入到动作播放列表
h_Board.rows[v_iRow].cells[v_iCell].title = ""; // 移除在对应的单元格内标志,用于判断
}
//
// 判断是否可以进行下一步 fnCanNext
//
function fnCanNext(v_aoOne, v_iCount)
{
var t_iCount;
var t_r, t_c;
// 判断行
for(t_iCount=0,i=0; i<v_iCount; i++)
{
if(h_Board.rows[ v_aoOne[0] ].cells[i].title == "H")
t_iCount++;
}
if(t_iCount > 1) return false;
// 判断列
for(t_iCount=0,i=0; i<v_iCount; i++)
{
if(h_Board.rows[i].cells[ v_aoOne[1] ].title == "H")
t_iCount++;
}
if(t_iCount > 1) return false;
// 判断下斜
t_iCount = 1;
t_r = v_aoOne[0];
t_c = v_aoOne[1];
while(--t_r+1 && --t_c+1)
if(h_Board.rows[t_r].cells[t_c].title == "H")
t_iCount++;
t_r = v_aoOne[0];
t_c = v_aoOne[1];
while(++t_r<v_iCount && ++t_c<v_iCount)
if(h_Board.rows[t_r].cells[t_c].title == "H")
t_iCount++;
if(t_iCount > 1) return false;
// 判断上斜
t_iCount = 1;
t_r = v_aoOne[0];
t_c = v_aoOne[1];
while(--t_r+1 && ++t_c<v_iCount)
if(h_Board.rows[t_r].cells[t_c].title == "H")
t_iCount++;
t_r = v_aoOne[0];
t_c = v_aoOne[1];
while(++t_r<v_iCount && --t_c+1)
if(h_Board.rows[t_r].cells[t_c].title == "H")
t_iCount++;
if(t_iCount > 1) return false;
return true;
}
//
// 播放动作列表
//
function fnPlayList()
{
var t_aoArray;
if(iPlayFrame+1 <= aoPlayList.length)
{
t_aoArray = aoPlayList[iPlayFrame++].split("|");
if(t_aoArray[0]=="A")
h_Board.rows[ parseInt(t_aoArray[1]) ].cells[ parseInt(t_aoArray[2])].style.backgroundColor = "yellow";
else
h_Board.rows[ parseInt(t_aoArray[1]) ].cells[ parseInt(t_aoArray[2])].style.backgroundColor = "";
if(iMakeTab < aoMakeTab.length && iPlayFrame - 1 == aoMakeTab[iMakeTab])
{
iMakeTab++;
h_MakeTabBox.rows[0].insertCell().innerHTML = h_Board.outerHTML.replace(/h_Board/,"0");
}
}
else
return;
setTimeout("fnPlayList()", 100);
}
function BeginGame()
{
fnRunBoard(0, 4);
iPlayFrame = 0;
fnPlayList();
h_PlayBtn.disabled = true;
}
//-->
</SCRIPT>
<INPUT TYPE="submit" value="分析并演示" name="h_PlayBtn" onclick="BeginGame()" >
</BODY>
</HTML>
wanghui0380
2003-04-14
打赏
举报
回复
呵呵,第一个问题是很早以前的初中计算机奥赛的题目愿是八王后在国际象棋棋盘上的摆法,很简单的循环加判断就行了。第二个问题是组合题应该是:全部的可能-全装正确的可能。最后那个只不过是一比较负扎的sql语句嘛
xiwanghope
2003-04-14
打赏
举报
回复
晕,如果进这个公司它给多少钱?赫赫
holywars
2003-04-14
打赏
举报
回复
找本算法的书看看吧!!
jason2008
2003-04-14
打赏
举报
回复
哇噻
【记】:
上周
团队
面试
应届生
本文
分享
了一位团队负责人在
面试
应届生时的经验,强调了人品和坦诚的重要性,指出技术其次,关键在于上进心和自学能力。团队主要考察的技能包括servlet/JSP开发和XML。同时,提供了部分
面试
题目,如Java API的熟悉程度,String与StringBuffer的区别,Servlet的基础使用,以及XML文档结构的理解。
纯干货
分享
,2021年阿里巴巴社招
面试
题总结,本人
上周
已成功入职!
本文作者
分享
了2021年阿里巴巴社招
面试
经历,包括一面、二面和hr面的主要
问题
,涉及Java架构、高并发、Spring Cloud、操作系统、Redis等技术。虽然在
面试
中
遇到
一些挑战,但最终成功拿到offer。文章还提供了
面试
准备资料,如Java核心知识点和架构师学习资料。
分享
几个
Android的
面试
经历
本文
分享
了一位Android开发者丰富的
面试
经历,包括面对不同类型的公司和技术
面试
官的经验,以及
面试
过程中的注意事项和技巧。
上周
,XX保险
面试
,凉了!!!
本文
分享
了Java
面试
中关于线程安全类、对象创建方式、Object方法详解、SpringBoot自动装配、数据库事务、索引理解、
面试
技巧等内容,助你准备常见技术
面试
问题
。
上周
面试
了一个大模型算法岗的女生,有点崩溃。。。
这篇文章
分享
了关于大模型
面试
的常见
问题
,包括大模型架构、基础概念(如decoder-only、LLM、偏见和幻觉)、训练技术(如数据类型、多头注意力机制和激活函数)、优化方法(如梯度处理和数据预处理)以及技术交流资源。
ASP
28,403
社区成员
356,946
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章