前言:從最近的比賽中,真的可以看出來自己做題目太少了,一些常見的演算法,思路都不怎麼會,接下來要好好努力了
分析:書中給的分析思路很好,要解決乙個複雜的問題,最有效的方法就是從乙個具體的問題入手,這道題就可以舉例子,查詢7這個元素,首先從右上角開始,9比7大,所以9所在的列不會有,查詢8,比7大,所以8所在的這一列沒有,如此這樣我們只需要查詢第一行元素,然後根據與7的大小比較,再判斷是否查詢對應的列,如此思路就很清晰了
package com.mrdear;
/** * 查詢二維陣列指定數
*/public class main ,,,
};int num = 2;//要查詢的數字
//從右上角開始查
for (int i = arr[0].length - 1; i >= 0; i--) else }}
/*** 查詢指定列上是否有num
** @param arr 查詢的目標陣列
* @param i 指定列
* @param num 要查詢的數
*/private static void findnum(int arr, int i, int num) else if (arr[mid][i] < num)else }}
}
劍指offer 面試題3
思路 從左下角或者右上角開始比較 簡單版本 查詢方式從右上角開始查詢 如果當前元素大於target,左移一位繼續查詢 如果當前元素小於target,下移一位繼續查詢 進行了簡單的修改,可以判定輸入型別為字元的情況 查詢方式從左下角開始查詢 如果當前元素大於target,上移一位繼續查詢 如果當前元素...
劍指offer面試題7
面試題7 用兩個棧實現佇列 using namespace std template class cqueue 預備知識 佇列 佇列也是一種常見的資料結構 特點是先進先出 fifo 在stl中有stack和queue兩個容器 template class stack 成員函式 empty size ...
劍指offer面試題11
面試題1 數值的整數的次方 題目 實現函式double power double base,int exponent 求base的 exponent次方。不得使用庫函式,同時不需要考慮大數問題。思路 首先應該明確指數的可能取值 正整數,0,負整數 另外還需要考慮底數是0的情形。對於負整指數,我們可以...