一、在乙個長度為n的陣列裡的所有數字都在0到n-1的範圍內。
陣列中某些數字是重複的,但不知道有幾個數字是重複的。
也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。
例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。
public
class
solution
bucket[numbers[i]] = true;
}return
false;
}}
二、給定乙個陣列a[0,1,…,n-1],
請構建乙個陣列b[0,1,…,n-1],
其中b中的元素b[i]=a[0]a[1]…a[i-1]*a[i+1]…*a[n-1]。
不能使用除法。
public
class
solution
//計算下三角
b[0] = 1;
for(int i = 1; i < a.length; i++)
//計算上三角,因為需要用原來的b[i],需要借助臨時變數
int tmp = 1;
for(int i = a.length - 2; i >= 0; i--)
return b;
}}
三、請實現乙個函式用來判斷字串是否表示數值(包括整數和小數)。
例如,字串」+100」,」5e2」,」-123」,」3.1416」和」-1e-16」都表示數值。
但是」12e」,」1a3.14」,」1.2.3」,」+-5」和」12e+4.3」都不是。
public
class
solution
flage = true;
}else
if(str[i] == '+' || str[i] == '-')
}else
if(str[i] == '.')
flagdot = true;
}else
if(str[i] < '0' || str[i] > '9')
}return
true;
}}
四、乙個鍊錶中包含環,請找出該鍊錶的環的入口結點。
public
class
listnode
}public
class
solution
if(slow == null || fast.next == null)
slow = phead;
while(slow != fast)
return slow;
}}
五、在乙個排序的鍊錶中,存在重複的結點,
請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。
例如,鍊錶1->2->3->3->4->4->5 處理後為 1->2->5
class listnode
}public
class
solution
pre.next = cur;
}else
}return tmp.next;
}}
劍指Offer 陣列 (11)
知識點 資料結構 陣列flag 這道題目一定要記!題目描述 統計乙個數字在排序陣列中出現的次數。思路 方法1 看到題目一種最簡單的解法就是把整個陣列遍歷一下 public class solution int firstk getfirstk array,k,0,length 1 int lastk...
劍指offer程式設計
二維陣列中的查詢 題目描述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,...
劍指程式設計(6)
一 輸入乙個複雜鍊錶 每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點 返回結果為複製後複雜鍊錶的head。注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空 class randomlistnode public class solution ...