careercup 陣列和字串1 6

2021-09-06 20:00:27 字數 597 閱讀 7460

1.6 給定一幅由n*n矩陣表示的如下,其中每個畫素的大小為4個位元組,編寫乙個方法,將影象旋轉90度。不占用額外記憶體空間能否做到?

類似leetcode:rotate image

思路:

我們這裡以逆時針旋轉為例(寫**時比較容易理解,順時針旋轉的實現思想相似),可以先將原矩陣以主對角線為對稱軸,交換主對角線兩側的的元素,得到新的矩陣(如果是順時針旋轉,可以交換副對角線兩側的元素),再將該矩陣的第i行和第n-i-1行相交換,即得到逆時針旋轉後的矩陣。

c++**實現:

#includeusing

namespace

std;

void rotate(int (*arr)[4],int

n) }

for(i=0; i2; i++)

for(j=0; j)

swap(arr[i][j],arr[n-i-1

][j]);

}int

main()

, ,,};

rotate(a,4);

for(int i=0; i<4; i++)

}

careercup 陣列和字串1 1

1.1 實現乙個演算法,確定乙個字串的所有字元是否全部不同。假設不允許使用額外的資料結構,又該如何處理?c 實現 include include include using namespace std 判斷是否有重複字元 bool unqstring strings inti for i 0 i w...

careercup 陣列和字串1 8

1.8 假定有乙個方法issubstring,可檢查乙個單詞是否為其他字串的子串。給定兩個字串s1和s2,請編寫 檢查s2是否為s1旋轉而成,要求只能呼叫一次issubstring。旋轉字串 waterbottle 是 erbottlewat 的旋轉字串。題目說我們使用一次issubstring函式...

字串和字串陣列

字串陣列 include int main int argc,const char ar printf name1 s n name1 name1 zhangsan 部分初始化中,沒有被初始化的元素預設是0,0 對應的ascii值是 0 char name2 9 printf name2 s n n...