T1 LC17.01 不用加号的加法

  • Step1: a^b,完成不进位加法
  • Step2: a&b,完成进位的运算
  • Step3: 把step2左移一位,模拟正常加法的向前进一位
  1. class Solution {
  2. public:
  3. int add(int a, int b) {
  4. if(b==0){return a;}
  5. int step1=0,step2=0,step3=0;
  6. while(b!=0){
  7. step1=a^b;
  8. step2=a&b;
  9. step3=(unsigned int)step2<<1;
  10. a=step1;
  11. b=step3;
  12. }
  13. return step1;
  14. }
  15. };

T2 LC221 最大的正方形

使用动态规划

T3 LC445 链表加法

转化成栈,然后常规操作

  1. while stack1 or stack2 or carry==1:
  2. v1=stack1.pop() if stack1 else 0
  3. v2=stack2.pop() if stack2 else 0
  4. temp=v1+v2+carry
  5. carry=temp//10
  6. curr=ListNode(temp%10)
  7. curr.next=result
  8. result=curr
  9. return result

T4 LC193 有效电话号码

Shell 的第一题:

  1. # Read from the file file.txt and output all valid phone numbers to stdout.
  2. cat file.txt | grep -P "^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$|^[0-9]{3}-[0-9]{3}-[0-9]{4}$"

今日学习总结

  • 只是爬虫

开发爬虫记录

  1. 连接力扣
  2. 爬取题目列表
  3. 连接数据库 - 使用 sqlalchemy
  1. pip freeze > requirements.txt
  1. Graphql 爬取题目

继续实现 爬取题解 + 生成题目 MD + 生成主 README:

  1. 数据库中查找是否存在: ```python from sqlalchemy.sql import exists

print session.query(exists().where(Person.name== ‘jack’)).scalar()

返回的结果是True或False

```

  1. 生成题目 MD 的时候在 get_question_detail 函数中

  2. 生成主 MD 需要重新进行爬取过程

我的 LeetCode-Crawler上线啦! https://github.com/david990917/LeetCode-CN-Crawler

今日英语

  • [ ] 托福单词打卡

  • [ ] GRE单词打卡

  • [ ] GRE 学习两小时 - 正式开始填空学习