社区
ASP
帖子详情
上周面试遇到的几个问题,与大家分享!
orrin
2003-04-14 03:19:40
1、 4个棋子,放在4x4的棋盘上,让斜、横、竖最多只有一个棋子的摆法有多少种?
2、 5封信,5个信封,假设一个信封只能装一封信,问有多少种完全装错的可能?
3、 用一句sql语句找出表td customer中的主关键字段。
...全文
79
5
打赏
收藏
上周面试遇到的几个问题,与大家分享!
1、 4个棋子,放在4x4的棋盘上,让斜、横、竖最多只有一个棋子的摆法有多少种? 2、 5封信,5个信封,假设一个信封只能装一封信,问有多少种完全装错的可能? 3、 用一句sql语句找出表td customer中的主关键字段。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
哇噻
上周
刚
面试
回来,献给程序员们一份“热腾腾”的面经
分享
(写于拿到offer的24小时内)!
首先介绍一下我的
面试
经历,
上周
花了一周的时间,
面试
了5家公司,拿到两个offer,这篇
面试
分享
是在拿到第二个offer的当天晚上写的。 由于时间相隔较短,所以
面试
大部分内容都记得,我就单刀直入直接写一下我的
面试
内容,写作水平一般,有点像记流水账,大家将就着看看。。。
面试
过程还原: 一、360金融 360一上来就是做几页纸的题其中包括选择题20题和简述题9题,加上填表时间,一共给了我45分钟。 其中简述题主要有以下
几个
写出最近项目中代码工程目录结构,简述各部份作用 如何避免对外开
分享
几个
Android的
面试
经历
一个Android菜鸟“面霸”的
面试
经历
分享
今天是我入职一个创业公司的第二天。由于公司今天才把自己用的电脑买回来,只好今天在做着每一个技术人员入职第一天常做的事:安装相关开发软件,配置开发环境。 在安装软件的过程中,由于下载最新版的android studio比较缓慢,只好在下载过程中随便翻翻。然后,看到一个开发群里,一位朋友还在聊
面试
的事,他在那里说,今天又没有
面试
通知
想学IT的必看!实战讲述Flutter跨平台框架应用,
分享
一点
面试
小经验
前言 一个Android开发的朋友跟我谈他
面试
经历,
上周
去爱奇艺
面试
,其他
问题
都答得不错,
面试
官问了一个哈夫曼算法的题没答出来,后来
面试
官很明确的说,我们还是想找一个会些算法基础的。 如果之前有学过数据结构和算法,建议大家不定时的去刷刷算法题 因为从
面试
的角度来讲,目前 BAT 和 TMD 等一线互联网企业或多或少都会有
几个
算法题,而对应届毕业生来说,算法的要求度则更高!这里可以
分享
一下我收集整理的数据结构算法题含答案。 一面: 因为截至
面试
时,我只有1年实习+2.58年工作经验,所以这一面侧重考察基本的
【过关斩将】那些年我们在
面试
中
遇到
的“坑”
前言 最近学员
面试
的比较多,
遇到
的坑也比较多,我们一起来看看,你是否也踩过这些坑 你准备了很多知识点去
面试
,结果
面试
官一直给你扯东扯西,聊公司未来,谈人生。 你去
面试
遇到
很多追问细节的
问题
,一直摁着一个知识点不停的往深入里问,问的很细致; 当你去
面试
,
遇到
面试
官很敷衍的问了你
几个
与技术无关的
问题
,唯一一个有深度的居然是Tomcat端口号是多少? 你说8080,
面试
官很惊讶的说:呦 , 你这看上去有点像中级运维的感觉啊。 你开开心心满怀期待的去
面试
,结果
遇到
个不懂人情世故的
面试
官,跟你怼起来了。 你跟着导
上周
我面了个三年 Javaer,这
几个
问题
都没答出来
微信搜 「yes的练级攻略」干货满满,不然来掐我,欢迎
分享
,转载请保留出处。 身为 Java Web 开发我发现很多人一些 Web 基础
问题
都答不上来。
上周
我
面试
了一个三年经验的小伙子,一开始我问他 HTTP/1、HTTP/2相关的他到是能答点东西出来。 后来我问他:你知道 HTTP 的本质是什么吗? 他支支吾吾答不出来。 我接着问那你知道什么是 HTTP 和 RPC 的关系吗? 为什么要有 RPC? 他眼睛盯着桌上的水,额了半天。 最后我跟他说回家等通知吧(当然还有很多都答不上来哈,多方位我都问了.
ASP
28,409
社区成员
356,971
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章