原创 楊氏矩陣查找

1019. 楊氏矩陣查找 題目描述 楊氏矩陣,即在一個二維數組中,每一行都按照從左到右嚴格遞增的順序排序,每一列都按照從上到下嚴格遞增的順序排序。請完成一個函數,輸入這樣的一個N*N的二維數組和M個整數,判斷數組中是否含有上述M

原创 1000. 鏈式哈希

Description 使用鏈地址法(又稱拉鍊法)可以解決Hash中的衝突問題。 其基本思想是:將具有相同哈希地址的記錄鏈成一個單鏈表,m個哈希地址就設m個單鏈表,然後用一個數組將m個單鏈表的表頭指針存儲起來,形成一個動態的結構,如下圖

原创 反轉數字

#include<iostream> using namespace std; long num_rev(long num); int main() {     long num;     while (

原创 判斷是否爲對稱的字符串(迴文數)

#include<iostream> #include<cmath> #include<cstring> using namespace std; bool symm(char a[]); int mai

原创 分數拆分

輸入正整數看,找到所有的正整數x>=y,使得 1/k = 1/x + 1/y 。 樣列輸入: 2 12 樣列輸出 2 1/2=1/6+1/3 1/2=1/4+1/4 12 1/12=1/156+1/13 1/12=1/84+1/14 1

原创 最小雙基迴文數

如果一個正整數n至少在兩個不同的進制b1和b2下都是迴文數(2<=b1,b2<=10),則稱n是雙基迴文數(注意,迴文數不能包含前導0)輸入正整數S<10^6,輸出比S大的最小雙基迴文數。 樣列輸入:1600000 樣列輸出:163299

原创 最大乘積

輸入n個元素組成的序列S,你需要找出一個乘積最大的連續子序列。如果這個最大的乘積不是正數,應輸出-1(表示無解)。n>=1  n<=18  Si>=-10 Si<=10。 樣列輸入: 3 2 4 -3 5 2 5 -1 2 -1 樣列輸出