Find Elements in Matrix
2017-12-13 21:30
253 查看
Lintcode 737
已知:给定一个二维数组,求出在二维数组每一行都出现过的一个数字(假定这个数字是唯一的)
示例:
[ [2,5,3], [3,2,1], [1,3,5] ] //返回值为3
思路:
这个问题本身应该难度不高,难点应该也是在于如何把多层循环转换成递归。我们可以假定当前为第一行的第N个数,然后从第二行找有没有相等的数,如果有,则递归至第三层,依次递归到最后一层仍然为有,则该值就是我们所寻找的值了。
代码如下:
public class Solution { public int FindElements(int[][] Matrix) { for (int i = 0; i < Matrix[0].length; i++) { if (search(Matrix[0][i], Matrix, 1)) { return Matrix[0][i]; } } return 0; } //三个参数 //第一个是当前的值(也就是第一行的数字遍历) //第二个是数组,因为需要值的比对,干脆整个数组传递过来 //第三个是当前比对到了第几行(从1开始到最大行数) private boolean search(int i, int[][] Matrix, int index) { for (int j = 0; j < Matrix[index].length; j++) { if (Matrix[index][j] == i) { //如果到了最后一行还满足条件,返回true,否则递归至下一层 if (index == Matrix.length - 1) { return true; } else { return search(i, Matrix, index + 1); } } } return false; } }
当然啦,代码完成之前我也有考虑过会不会有进一步的时间优化的方法,但是测试通过了,看样子本题本身就是考察的递归类的知识点~
谢谢您的阅读,希望对您有所帮助(๑╹◡╹)ノ”“”
相关文章推荐
- lintcode---Find Elements in Matrix
- Find Elements in Matrix-LintCode
- Find common elements in three sorted arrays
- Find the Smallest K Elements in an Array
- CCI: Find in Matrix
- find duplicates in matrix within k indices
- [每日练习] write a function to find the key in a m*n matrix, where each line and column is incremental
- find path/route in a maze 2 d matrix
- Find out all the elements in A and B such that the A[i]-B[j]=C[k]
- find all pairs of elements in a balanced BST that sum to a certain number
- Facebook面试题 Find first k common elements in n sorted arrays
- Matrix and linear algebra in F#, Part IV: profile your program, find the bottleneck and speed it up: using matrix multiplication as an example[z]
- Find min elements in the Stack
- Find the elements in the set that appears only once
- Find consecutive elements in an array
- [LeetCode] find the Minimum window in s which contains all elements from T
- How do I divide matrix elements by column sums in MATLAB?
- 373. Find K Pairs with Smallest Sums && 378. Kth Smallest Element in a Sorted Matrix
- FindInPartiallySortedMatrix
- Silverlight小技巧--FindElementsInHostCoordinates