leetbook筆記 陣列和字串

2022-09-07 04:33:07 字數 3094 閱讀 8336

給你乙個整數陣列 nums ,請計算陣列的 中心下標 。

陣列 中心下標 是陣列的乙個下標,其左側所有元素相加的和等於右側所有元素相加的和。

如果中心下標位於陣列最左端,那麼左側數之和視為 0 ,因為在下標的左側不存在元素。這一點對於中心下標位於陣列最右端同樣適用。

如果陣列有多個中心下標,應該返回 最靠近左邊 的那乙個。如果陣列不存在中心下標,返回 -1 。

class solution 

}return nums.size();

}};

解法二:二分法

class solution 

} //判斷target和最後找到位置的關係,比最後位置大則返回最後位置+1

if(target>nums[left])

return left+1;

//否則返回最後位置

return left;

}};

以陣列 intervals 表示若干個區間的集合,其中單個區間為 intervals[i] = [starti, endi] 。請你合併所有重疊的區間,並返回乙個不重疊的區間陣列,該陣列需恰好覆蓋輸入中的所有區間。

class solution 

//交換兩個陣列的值

static void swap(vector&num1,vector&num2)

void rotate(vector>& matrix) ;

int dy=;

int line=mat.size();

int row=mat[0].size();

//定義乙個陣列判斷當前的點有沒有走過

vector>judge(line,vector(row,0));

//記錄當前的點的座標和方向

int x=0,y=0,d=0;

for(int step=0;step=line||b<0||b>=row||judge[a][b]==true)

//找到了下一步之後改變xy的值

x=x+dx[d];

y=y+dy[d];

//如果是橫著走或者豎著走的話,要先變方向,不然會一直橫著走

if(d==0||d==2)

}return res;

}};

編寫乙個函式來查詢字串陣列中的最長公共字首。

如果不存在公共字首,返回空字串""

class solution                 left--;                right++;            }            //回文串是偶數            left=i;            right=i+1;             while(left>=0&&rightmaxlen)                                 left--;                right++;            }        }        return s.substr(pos,maxlen);    }};
class solution             //如果是空值而且左邊是有字母的,整個單詞壓棧            //是最後乙個單詞,壓棧            if((s[left]==' '&&s[left-1]!=' ')||left==right)            //如果左邊和當前字元都是空的話,直接left++            left++;        }        //遍歷棧輸出結果字元        string res;        while(!words.empty())                       return res.substr(0,res.size()-1);            }};
解法一:暴力法
class solution };
雙指標法

class solution         return res;    }};
給定乙個已按照 公升序排列 的整數陣列 numbers ,請你從陣列中找出兩個數滿足相加之和等於目標數 target 。

函式應該以長度為 2 的整數陣列的形式返回這兩個數的下標值。numbers 的下標 從 1 開始計數 ,所以答案陣列應當滿足 1 <= answer[0] < answer[1] <= numbers.length 。

你可以假設每個輸入只對應唯一的答案,而且你不可以重複使用相同的元素。

解法一:雜湊表

class solution                        if(nums[fast]==0)                        fast++;        }        return res;    }};
解法一:暴力法
class solution                 fast++;                slow=fast;            }            //如果快指標沒有指向空格,那麼快指標繼續往後移動            else                    }        //單獨處理最後乙個單詞,他最後沒有空格所以在前面不會反轉        int left=slow;        int right=fast-1;        while(left已知乙個長度為 n 的陣列,預先按照公升序排列,經由 1 到 n 次 旋轉 後,得到輸入陣列。例如,原陣列 nums = [0,1,2,4,5,6,7] 在變化後可能得到:

若旋轉 4 次,則可以得到 [4,5,6,7,0,1,2]

若旋轉 7 次,則可以得到 [0,1,2,4,5,6,7]

注意,陣列 [a[0], a[1], a[2], ..., a[n-1]] 旋轉一次 的結果為陣列 [a[n-1], a[0], a[1], a[2], ..., a[n-2]] 。

給你乙個元素值 互不相同 的陣列 nums ,它原來是乙個公升序排列的陣列,並按上述情形進行了多次旋轉。請你找出並返回陣列中的 最小元素 。

class solution } }};

Swift筆記 陣列

建立乙個空陣列 使用構造語法來建立乙個由特定資料型別構成的空陣列 var array int print array.count count 通過建構函式的型別,array的值型別被推斷為 int 建立乙個帶有預設值的陣列 swift 中的array型別還提供乙個可以建立特定大小並且所有資料都被預設...

PHP筆記,陣列

1.php有兩種陣列 索引陣列 關聯陣列。索引和關聯兩個詞都是針對陣列的鍵而言的 1 索引陣列是指數組的鍵是整數的陣列,並且鍵的整數順序是從0開始,依次類推。索引陣列的初始化 fruit array 蘋果 香蕉 菠蘿 2 關聯陣列是指數組的鍵是字串的陣列。可以使用 print r 陣列名 語句輸出陣...

java筆記 陣列

陣列 1 是一種資料型別 應用型別 2 相同資料型別元素的集合 3 陣列的定義 資料型別 資料名 new 資料型別 大小 int a 宣告整型變數 int a 宣告整型陣列變數 int a 5 int new int 5 宣告整型陣列a,包含5個元素 每個元素都是int型別,預設值為0 double...