Ahri-珊
day4将分享LeetCode算法题119,121,122以及个人展示页面的制作。
LeetCode
今天的三道题都比较简单,都是以前已经做过的知识点(杨辉三角,动态规划)。
119.Pascal’s Triangle II
输出杨辉三角的第k层。
心路历程
第k层规律:第k层的元素除去首尾的1之后其余元素为k-1层元素两两相加。
代码:
var getRow = function(rowIndex) {
if(rowIndex==0)
return [1];
var res = [];
res[0] = [1];
for(var i=1;i<=rowIndex;i++)
{
res[i] = new Array();
res[i].push(1);
for(var j=0;j<i-1;j++)
{
res[i].push(res[i-1][j]+res[i-1][j+1]);
}
res[i].push(1);
}
return res[rowIndex];
};
121. Best Time to Buy and Sell Stock
买卖股票,只能买一次。
心路历程
1.题目类型:动态规划问题
2.动态规划需要的两个变量:a.global 记录全局最优 b.local 记录局部最优
3.什么时候局部最优:当晚一天卖的时候比前一天卖赚的少的时候,local不能再累加
4.什么时候全局最优: 用global记录每次的局部最优,局部最优中最大的为全局最优,因此遇到更大的局部最优就记录到global
代码:
var maxProfit = function(prices) {
var global_p = 0;
var local_p = 0;
var profit;
for(var i=0;i<prices.length-1;i++)
{
profit = prices[i+1]-prices[i];
local_p = Math.max(local_p+profit,profit);
global_p = Math.max(global_p,local_p);
}
return global_p;
};
Best Time to Buy and Sell Stock II
买卖股票,可以无限次买。
心路历程
这一题可以无限次的买,那太简单了,只要有钱赚我就买买买。钱就加加加!
代码:
var maxProfit = function(prices) {
var global_p = 0;
var local_p = 0;
var profit;
for(var i=0;i<prices.length-1;i++)
{
profit = prices[i+1]-prices[i];
local_p = Math.max(local_p+profit,profit);
global_p = Math.max(global_p,local_p);
}
return global_p;
};
Profit
今天用React写了个简单的个人展示页面。
核心组件为导航栏和展示卡片。
导航栏
class App extends Component {
constructor(props) {
super(props)
this.state = {
}
}
render() {
return (
<nav className="navbar navbar-default App">
<div className="container-fluid">
<div className="navbar-header">
<a className="navbar-brand" href="">Ahri-珊</a>
<img src='favicon.ico' className="App-logo" alt="logo" />
</div>
<div>
<ul className="nav navbar-nav">
<li className="dropdown"><Link to="/">Demo</Link></li>
<li className="dropdown"><Link to="/about">About Me</Link></li>
</ul>
</div>
</div>
<div>{this.props.children}</div>
</nav>
);
}
}
export default App;
展示卡片
export default class CardComponent extends React.Component{
constructor(props) {
super(props);
this.state = {};
}
render(){
return(
<div className="col-sm-3 col-xs-12 card">
<div className="card_content">
<div className={this.props.class}>
<h1><a href={this.props.url} target="_blank">{this.props.title}</a>
<small>{this.props.time}</small>
</h1>
</div>
<p>{this.props.introduce}</p>
<img src={this.props.img} alt={this.props.title} />
</div>
</div>
)
}
}
Comments