标签:int offer rowIndex number columnIndex 算法 查找 key
一、二维数组数字查找
题目:二维数组中,每行从左到右递增,每列从上到下递增;完成一个函数:输入该数组和待查找数字,判断是否可查找到该数字;
// 从数组右上角启动查询,根据查询结果判断行和列下标的变化,逐渐缩小查找范围
private static boolean findValueInMatrix(Integer[][] number, Integer key) { int rowLength = number.length; int columnLength = number[0].length; boolean bFindFlag = false; if (rowLength > 0 && columnLength > 0) { int rowIndex = 0; int columnIndex = columnLength - 1; while (rowIndex < rowLength && columnIndex >= 0) { if (number[rowIndex][columnIndex] == key) { bFindFlag = true; break; } if (number[rowIndex][columnIndex] > key) { columnIndex--; // key值小于当前列,则下一步在左边列查询 } else { rowIndex++; // key值大于当前行,则下一步在下一行查询 } } } return bFindFlag; }
标签:int,offer,rowIndex,number,columnIndex,算法,查找,key 来源: https://www.cnblogs.com/clarino/p/11764051.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。