3/27 胡乱投了一堆简历,做了七牛的笔试,看了腾讯的面试题

感觉不懂的还是很多啊,不过也知道了笔试套路其实也不多,基本算法/数据结构(不会太难)、c/c++基础(后面的知识类似虚函数需要了解)、linux及多线程、网络和HTTP、数据库

这周本来想做完华为的精英赛题,感觉很有把握的,结果电脑联网报废了,linux环境也GG了,心情略差

开始做leetcode,挺慢的,希望以后进度提快


1.Two Sum

给一个vector<int> nums 和一个int k,求nums[i]+nums[j]=k时的return [i , j],需要注意是i,j和要最小, 知识点:vector.size()

292.Nim Game

找规律的题 隔4取一次 ,记住就行了

8.String to  Integer(atoi)

string转换为int,本身并不难,但是边界条件很多:1.允许开头*个空字符,允许开头有'-''+'2.不允许数字中出现除'0'-'9'以外的字符3.结果大于MAX小于MIN返回MAX个MIN

388.Counting Bits

给一个k,return从0到k每个值中二进制的1的个数

注意:1.计算二进制中1的个数,难点在于时间复杂度。有三种基本求二进制1个数的方法:

(1)定理求解:取余数的方法,最慢。

(2)基本法(雾):值和1进行&操作,然后>>算术右移,仍然有两个循环。(即为本道题我的解法)

(3)快速法:n和n-1进行&操作,可以消去二进制最右的1,仍然有两个循环。(在191题中的解法)

191.Number of 1 Bits

求一个uint32_t n二进制中1的个数,用快速法

136.Single Number

寻找序列内单个的数。

我的方法(线性时间复杂度,不利用其他空间):先sort一遍排列,和前后两个数都不相等的就是所求,序列长度为1为边界条件

快速方法:所有数按位异或即为结果(因为异或满足结合律)

知识点:vector.begin() vector.end()

104. Maximum Depth of Binary Tree

求二叉树深度,很久没做递归了,画了一下还是写出来了,但是有个结果submit一直报错,但是run code里没问题

原因:用C写的时候在函数外面设置了变量(实际上是全局变量),改为C++后设置为class中的private就好了

258. Add Digits

第一个看的leetcode题,初见O(1)吓到了我,原来是数学法则(高级找规律)return (num-1)%9 + 1;

226. Invert Binary Tree

翻转二叉树,我意识到对C++需要了解的不是奇技淫巧,而是踏实的重载、多态、继承、虚函数等,这样的题目反而简单

最后3道题做完了但是没copy代码到blog上。

第一周leetcode的更多相关文章

  1. 第一周 Leetcode 57. Insert Interval (HARD)

    Insert interval  题意简述:给定若干个数轴上的闭区间,保证互不重合且有序,要求插入一个新的区间,并返回新的区间集合,保证有序且互不重合. 只想到了一个线性的解法,所有区间端点,只要被其 ...

  2. ARTS第一周

    开始进行的第一周. 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3.Tip:学习至少一个技术技巧4.Share:分享一篇有观点和思 ...

  3. 第一周 总结笔记 / 斯坦福-Machine Learning-Andrew Ng

    课程主页:https://www.coursera.org/learn/machine-learning/home/welcome 收集再多的资料也没用,关键是要自己理解总结,做笔记就是一个归纳总结的 ...

  4. Surprise团队第一周项目总结

    Surprise团队第一周项目总结 团队项目 基本内容 五子棋(Gobang)的开发与应用 利用Android Studio设计一款五子棋游戏,并丰富其内涵 预期目标 实现人人模式:2个用户可以在同一 ...

  5. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  6. 20145206邹京儒《Java程序设计》第一周学习总结

    20145206 <Java程序设计>第1周学习总结 教材学习内容总结 1.三大平台:Java SE.Java EE与Java ME.Java SE是各应用平台的基础,分为四个主要的部分: ...

  7. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  8. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  9. 20145337《JAVA程序设计》第一周学习总结

    # 20145337 <Java程序设计>第1周学习总结 ## 教材学习内容总结 第一章 -Java最早是Sun公司撰写Star7应用程序的程序语言 -根据应用领域不同,有Java SE. ...

随机推荐

  1. (转)C#与Outlook交互收发邮件

    本文转载自:http://www.cnblogs.com/Moosdau/archive/2012/03/11/2390729.html .Net对POP3邮件系统已经集成了相应的功能,但是如果是基于 ...

  2. bzoj4891: [Tjoi2017]龙舟

    求$\frac{b_1b_2b_3...b_m}{a_1a_2a_3...a_m}\%M$ M<=1e18,m<=100000,数据组数<=50 用pollard-rho分解M的质因 ...

  3. 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #12 使用Memory Cgroup限制内存使用量

    HACK #12 使用Memory Cgroup限制内存使用量 Memory Cgroup是Cgroup的资源限制功能之一,可以控制特定进程可以使用的内存量.Memory CgroupMemory C ...

  4. springcloud(九) springboot Actuator + admin 监控

    前一章讲的都是Feign项目(调用方)的监控.接下来讲的是服务提供方的监控 一.springboot actuator + springboot admin Spring Boot Admin 是一个 ...

  5. Django之路 - 实现登录随机验证码

    登录验证码是每个网站登录时的基本标配,网上也有很多相应的文章, 但是从生成验证码到 应用到自己的网站上的全步骤,并没有看到很多, 为了节约大家的时间,我把整体步骤写下来, 即拿即用哈 1. 生成随机验 ...

  6. python manage.py runserver 0.0.0.0:8000

    python manage.py runserver 这种命令行,可以在服务器端输入IP:8000直接访问 在 python manage.py runserver 127.0.01:8000 在服务 ...

  7. javascript的中的new

    考察 ECMAScript 语言规范中 new 运算符的定义: The new Operator The production NewExpression : new NewExpression is ...

  8. delphi 触摸 手势

    delphi手势,左右滑动, 控件的OnGesture事件写代码. 放一个TGestureManager控件,设置控件的touch属性为TGestureManager控件. 然后勾选控件的Touch& ...

  9. 使用正则表达式读取简单的xml文件

    '<?xml version='1.0' encoding='GB2312'?>'<ntsc>'   <time>'       <year>2010& ...

  10. 开源地理空间基金会OSGeo简介

    开源地理空间基金会 OSGeo 相关站点: OSGeo官方站点:http://www.osgeo.org/home OSGeo中国中心:http://www.osgeo.cn/ OSGeo GitHu ...