社区
ASP
帖子详情
上周面试遇到的几个问题,与大家分享!
orrin
2003-04-14 03:19:40
1、 4个棋子,放在4x4的棋盘上,让斜、横、竖最多只有一个棋子的摆法有多少种?
2、 5封信,5个信封,假设一个信封只能装一封信,问有多少种完全装错的可能?
3、 用一句sql语句找出表td customer中的主关键字段。
...全文
98
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
打赏
举报
回复
哇噻
上周
刚
面试
回来,献给程序员们一份“热腾腾”的面经
分享
(写于拿到offer的24小时内)!
首先介绍一下我的
面试
经历,
上周
花了一周的时间,
面试
了5家公司,拿到两个offer,这篇
面试
分享
是在拿到第二个offer的当天晚上写的。 由于时间相隔较短,所以
面试
大部分内容都记得,我就单刀直入直接写一下我的
面试
内容,写作水平一般,有点像记流水账,大家将就着看看。。。
面试
过程还原: 一、360金融 360一上来就是做几页纸的题其中包括选择题20题和简述题9题,加上填表时间,一共给了我45分钟。 其中简述题主要有以下
几个
写出最近项目中代码工程目录结构,简述各部份作用 如何避免对外开
产品经理
面试
技巧及常见
问题
本文转自 boss直聘 由John发布,微信公众号:产品狗聚集地 ,总结归纳的比较好,对于一名做了近12年医疗器械产品的设计人员很有用处。下一篇文章将讲解在医疗器械产品研发上市过程和软件产品过程的对比。 产品经理
面试
技巧及常见
问题
因为 John 最近
面试
了一些产品经理,发现了或多或少的一些
问题
存在,所以今天依照 John 过往和一些产品经理沟通聊天后,所反馈的
问题
和大家一起来聊下。 一、产品经理考察的是什么? 从本质上来说公司招聘产品经理,主要考察产品经理的
几个
核心能力:逻辑能力、经验和溯源能力。
奇葩的java
面试
问题
_聊聊我
面试
过的一个最奇葩的 Java 程序猿!
上周
我聊了聊最让我反感的 10 种程序猿,无奈一个小时就进行了删除,详细原因就不说了,容易招黑。今天聊的我
面试
过的最奇葩的一个程序猿,绝对是奇葩中的奇葩,简直是程序猿中的另类,最让我反感的程序猿又添加新成员了。。这次的还会继续删除?那是不可能的,我要让所有人都能见证这个奇葩。。那是一个下午,和往常没什么区别,我走向洽谈室准备迎接一场 Java
面试
。更多的细节有点忘了,此人长得有点滑稽,面了几分...
【过关斩将】那些年我们在
面试
中
遇到
的“坑”
前言 最近学员
面试
的比较多,
遇到
的坑也比较多,我们一起来看看,你是否也踩过这些坑 你准备了很多知识点去
面试
,结果
面试
官一直给你扯东扯西,聊公司未来,谈人生。 你去
面试
遇到
很多追问细节的
问题
,一直摁着一个知识点不停的往深入里问,问的很细致; 当你去
面试
,
遇到
面试
官很敷衍的问了你
几个
与技术无关的
问题
,唯一一个有深度的居然是Tomcat端口号是多少? 你说8080,
面试
官很惊讶的说:呦 , 你这看上去有点像中级运维的感觉啊。 你开开心心满怀期待的去
面试
,结果
遇到
个不懂人情世故的
面试
官,跟你怼起来了。 你跟着导
分享
几个
Android的
面试
经历
一个Android菜鸟“面霸”的
面试
经历
分享
今天是我入职一个创业公司的第二天。由于公司今天才把自己用的电脑买回来,只好今天在做着每一个技术人员入职第一天常做的事:安装相关开发软件,配置开发环境。 在安装软件的过程中,由于下载最新版的android studio比较缓慢,只好在下载过程中随便翻翻。然后,看到一个开发群里,一位朋友还在聊
面试
的事,他在那里说,今天又没有
面试
通知
ASP
28,406
社区成员
356,946
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章