有乙個數字矩陣,矩陣的每行從左到右是遞增的,矩陣從上到下是遞增的,請編寫程式在這樣的矩陣中查詢某個數字是否存在。
要求:時間複雜度小於o(n);
#define _crt_secure_no_warnings 1
#include
#include
#define row 3
#define col 3
//有乙個數字矩陣,矩陣的每行從左到右是遞增的,矩陣從上到下是遞增的,請編寫程式在這樣的矩陣中查詢某個數字是否存在。
//要求:時間複雜度小於o(n);
intsearchnum
(int p[row]
[col]
,int key)
else
j++;}
}}return0;
}int
main()
;printf
("請輸入要找的數:");
scanf_s
("%d"
,&key)
;int a =
searchnum
(arr, key)
;printf
("行:%d\n列:%d\n"
,(a / row)+1
,(a%col)+1
);}
實現乙個函式,可以左旋字串中的k個字元。
例如:abcd左旋乙個字元得到bcda
abcd左旋兩個字元得到cdab
#define _crt_secure_no_warnings 1
#include
#include
#include
//實現乙個函式,可以左旋字串中的k個字元。
//例如:
//abcd左旋乙個字元得到bcda
//abcd左旋兩個字元得到cdab
char
*leftrotation
(char
* str,
int k)
*run = tmp;
run = str;
k--;}
return str;
}int
main()
寫乙個函式,判斷乙個字串是否為另外乙個字串旋轉之後的字串。
例如:給定s1 =aabcd和s2 = bcdaa,返回1
給定s1=abcd和s2=acbd,返回0.
aabcd左旋乙個字元得到abcda
aabcd左旋兩個字元得到bcdaa
aabcd右旋乙個字元得到daabc
#define _crt_secure_no_warnings 1
#include
#include
#include
//寫乙個函式,判斷乙個字串是否為另外乙個字串旋轉之後的字串。
//例如:給定s1 = aabcd和s2 = bcdaa,返回1
//給定s1 = abcd和s2 = acbd,返回0.
//aabcd左旋乙個字元得到abcda
//aabcd左旋兩個字元得到bcdaa
//aabcd右旋乙個字元得到daabc
char
*leftrotation
(char
* str,
int k)
*run = tmp;
run = str;
k--;}
return str;
}char
*rightrotation
(char
* str,
int k)
*run = tmp;
run = str + len -1;
k--;}
return str;
}int
judgingrotation
(char
*str1,
char
*str2)
str =
rightrotation
(str1, k);}
//右旋轉判斷
for(
int k =
1; k < len1; k++
) str =
leftrotation
(str1, k);}
return0;
}int
main()
練習 指標基礎演算法題
1 寫乙個函式列印arr陣列的內容,不使用陣列下標,使用指標。arr是乙個整形一維陣列。define crt secure no warnings 1 include 寫乙個函式列印arr陣列的內容,不使用陣列下標,使用指標。arr是乙個整形一維陣列。void printarr int p,int ...
演算法練習 雙指標解法
兩數之和 ii 輸入有序陣列 給定乙個已按照公升序排列的有序陣列,找到兩個數使得它們相加之和等於目標數。函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。說明 返回的下標值 index1 和 index2 不是從零開始的。你可以假設每個輸入只對應唯...
基本演算法題練習一
由於被很多公司的筆試程式設計題虐了,才想著要做做演算法題了。自己的基礎看來太薄弱了些。因此決定先從賽碼網的基本演算法題開始做起。這裡想記錄一下賽碼網裡面題的情況。由於基礎薄弱,就先從兩星的題開始做起。每日兩道。這道題看起來比較簡單,我們可以從第一級樓梯開始分析。當樓梯只有一級時,有0種走法 當有2級...