ARTS Week 1
左耳听风学习小组 Week 1
本周第一次开始进行ARTS,内容都比较初级~ 请大家多多指教
每周完成一个ARTS:
1.Algorithm:每周至少做一个 leetcode 的算法题
2.Review:阅读并点评至少一篇英文技术文章
3.Tip:学习至少一个技术技巧
4.Share:分享一篇有观点和思考的技术文章
Algorithm
算法:
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int iSize = nums.size();
int sum1,sum2;
bool bfind = false;
for(int i=0;i<iSize;i++){
sum1 = i;
int tmp = target- nums[i];
for(int j=i+1;j<iSize;j++){
if(tmp == nums[j]){
sum2 = j;
bfind = true;
break;
}
}
if(bfind)
break;
}
vector<int> result;
result.push_back(sum1);
result.push_back(sum2);
return result;
}
};
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode result(0);
ListNode *p = &result;
int carry = 0;
while(l1||l2||carry){
int sum = (l1?(l1->val):0)+(l2?(l2->val):0)+carry;
carry = sum/10;
p->next = new ListNode(sum%10);
p = p->next;
l1 = l1?(l1->next):l1;
l2 = l2?(l2->next):l2;
}
return result.next;
}
};
#include <math.h>
class Solution {
public:
int reverse(int x) {
int num[40];
bool flag = true;
int iLength= 0;
long long maxLong = (long long)1<<31;
if(x == 0)
return 0;
if(x < 0 ){
if(maxLong == x) return 0;
flag = false;
x = -1*x;
}
while(x > 0){
num[iLength] = x%10;
x= x/10;
iLength++;
}
long long ans = 0;
for(int i=0;i<iLength;i++){
ans =ans*10+num[i];
}
if(ans >= maxLong)
return 0;
if(!flag)
ans = -1*ans;
return ans;
}
};
题目都比较基础,下周会建一个Github仓库.
Review
本周Review的是耗子叔入门篇推荐的Teach Yourself Programming in Ten Years,
Review笔记在 幕布笔记
Tip
本周学习了基本的MD语法,并使用写了简单的博客。注意的几点是
- 无序列表用 * , +, - 来创建,表示格式一样,习惯用 *
- 有序列表用 1. 来创建,排序只根据第一行列表数字
- 分隔线 用连续三个*号表示
- 代码块 标识符后加语言名称可以设定高亮
Share
本周分享了关于学习方向的心得 博客地址。
以上就是ARTS第一周分享的内容。
我是StormSun , 期待与你一起交流学习。