日々の問題をleetcode
今日は力で私の控除である翌日質問を行い、日々の質問を行うには初めて、あなたは非常に暴力的な書き込み。これまでのところ、私がされているので、「解決策が出てくることができ、すべては大丈夫だろう」態度、考え方は数回、数回変更コードの実行をノック開始する予定はありませんでした。あった場合に混乱は、私は地獄を書くことかわからない、いくつかの二日間を書きました。
解決した後、この質問困難な主題、少し幸せ(見つけることは困難である_を)。しかし、私は理解していないがどのように力バックル評価は困難です。
トピックはこれです:
- 雨水
所与nはずっと雨雨を取ることができ、次いで高さマップ算出クリック列配置、幅1列の非負整数を表します。
上記配列[0,1,0,2,1,0,1,3,2,1,2,1】図は非常に表される、この場合には、取ることができる6つのユニットの雨水(青部分)が雨を表します。この図にマルコスの貢献をありがとうございます。
例:
入力:[0,1,0,2,1,0,1,3,2,1,2,1]
出力:6出典:滞在ボタン(LeetCode)
:リンクhttps://leetcode-cn.com/problems/trapping-rain-water
すべてのネットワークからの控除が著作権を保有。商業転載は、ソースを明記してください許可公式、非商用の転載をご連絡ください。
私は練習を開始しました:
class Solution {
public:
int trap(vector<int>& height) {
int q=0;
int sum=0;
for(int i=1;i<height.size();i++){
if(height[i]>height[i-1]){
for(int j=i-1;j>q;j--){
int t=min(height[i],height[q])-height[j];
if(t>0){
sum+=t;height[j]=min(height[i],height[q]);
}
}
}
if(height[i]>=height[q]){
q=i;
}
}
return sum;
}
};
私の考え方は次のとおりです。雨の柱で満たされた問題を突出する場合にのみ、左の列の高さが雨水で満たされた場所で回避重複するために、考慮すべき+必要性を増加させ、雨水を充填した後にスペースを対応する各高さを変更する、雨水ストレージ高度にカラムの高さとみなします。
私たちは自分自身の実行時間を改善しようとすることを決めた前に、私はこの問題に対する解決策を参照してください。脳内で想像、結果は制限時間を超えて...... 2インデックスbarabaraがあります。まあ、私はまだそれの問題を他の誰かのソリューションを見てください。
それが急に反応せず、公式のスタック・ソリューションを参照してください、これはスタックの事です!/(O O O)/ ~~
公式指数もO(n)の二応答時間複雑さを与え、空間的複雑度はO(1)です。
https://leetcode-cn.com/problems/trapping-rain-water/solution/jie-yu-shui-by-leetcode/
また、溶液のTerrificああに分割ラインの最大高さ。
まず、最も高い柱を決定し、左の列のこの柱は、依拠最高の権利がある限り、次の最も高いが、その時間を探している間に頼ってたときにその時は左に頼っにレベル(最大を記録しながら、右横に左から左の列 - その時行のカラム高さ)を横切ります。あまりにも、右側に。
ページ淡色表示方法
今日は特別な日です。
誰がパブリックにテキストを見なかっ:https://mp.weixin.qq.com/s/_DA0Lm6nDrLtw6YRpjCWPA
html {
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter: grayscale(100%);
filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
}
filter
CSSプロパティがぼやけますかカラーシフト効果は、他のグラフィック要素に適用されます。フィルタは、典型的には、レンダリングされた画像、背景と境界を調整するために使用されます。
ブック学習アルゴリズム
今日は「チャレンジプログラミングコンテスト」ミニバージョン(以下百)の始まりを見て、二つの重要な情報を受け取りました。
最初は、時間の複雑さの問題です。私は、そのアルゴリズムの最適化の複雑さを考慮することは、問題が解決知っているが、あまりにも高い競争の中で構成するものの複雑さを知りませんが。この本は、リストを作りました。
他には、タイトルの本で、コードは、非常に良い例を複雑さを軽減する方法を示します。タイトルは、デジタル描かれたカードが同じ数まで加算表す、4枚のカードを引かれます。
いくつかの機能を覚えておいてください
容器最大値min_elementためmax_element(ARR []、[] +サイズをARR)([] +サイズをARR、] [ARR)
binary_search(ARR []、ARR [] +サイズ、INDX)バイナリサーチ
lower_search(ARR []、ARR [ ] +サイズ、INDX)が最初より大きい認めるか等しい位置インデックス値の要素は、(範囲外)最後の位置の次の要素を返すことが返されません
upper_search(ARR []、ARR [] +サイズ、INDX)が一定の位置よりも第1の素子より大きなを発見