网站:Codeabbey
声明:这是算法相关的题,难度开始增加了。
补充:从这里开始全部是Java来写,以后的工作肯定是写Java多一些,所以也先练习一下Java。
#120. Selection Sort
基于选择排序,遍历多遍数据,每次选出一个最大值,放到最后,该题的目的是找出每次找到最大值后,输出最大值在列表中的索引位置。
1 | package codeabby; |
#53. King and Queen
题意是给出一个8 x 8的棋谱,在上面放置King和Queen,看给出的坐标的King能不能被Queen吃掉,规则是只要King和Queen在同一行或同一列甚至是在一条对角线上,King就可以被Queen吃掉。
这里做法是把给出的坐标先解析,分解出King(x1, y1)和Queen(x2,y2),如果x1==x2或者y1 == y2,或者|x1 - x2| == |y1 - y2|,King就能被Queen吃掉,否则不能。
1 | package codeabby; |
#45. Cards Shuffling
这里就是洗牌的操作,给出一串数字,将对应位置上的卡牌移动到相应位置上。
1 | package codeabby; |
46. Tic-Tac-Toe
这道题有点像五子棋,只不过棋子是三个。
我的解题思路是将所有可能的情况列举出来,每走一步判断一下是否有三子共线。
1 | import java.util.*; |
别人不错的方法,将表格映射成 char 数组,将棋子映射为 X
和 O
,未放置棋子的映射为 -
,然后判断:
1 | package codeabby; |