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. 数据库比较工具DBCompareTool for Oracle 0.2.5发布

    迁移数据库sql to oracle http://www.oracle.com/technetwork/cn/database/migration/connect-sqlserver-1945229 ...

  2. intellij系列ide配置

    显示行号 搜索line number 在Editor,General,Appearance里面,勾选show line numbers 修改自体 sudo apt-get install fonts- ...

  3. Bootstrap-CL:多媒体对象

    ylbtech-Bootstrap-CL:多媒体对象 1.返回顶部 1. Bootstrap 多媒体对象(Media Object) 本章我们将讲解 Bootstrap 中的多媒体对象(Media O ...

  4. CFGym 101161I 题解

    一.题目链接 http://codeforces.com/gym/101161/problem/I 二.题意 给定一棵树,一个初始的省会城市,若干个询问,0表示修改省会城市,1表示查询去省会必须经过指 ...

  5. Restful&RestSharp

    RestSharp 一个.NET(C#)的HTTP辅助类组件 https://www.cnblogs.com/lilunjia/p/7090015.html C#使用RestSharp实现post发送 ...

  6. JSON.parse() 方法解析一个JSON字符串

    JSON.parse() 方法解析一个JSON字符串,构造由字符串描述的JavaScript值或对象.可以提供可选的reviver函数以在返回之前对所得到的对象执行变换. 语法EDIT JSON.pa ...

  7. OpenCV学习笔记 - Video Analysis - 录制视频

    录制视频 使用自带摄像头录制一段5s的短视频 error & solution fourcc1 = cv2.CV_FOURCC(', 'v') 在实践过程中,运行这一行时报错: 原因分析 在o ...

  8. notepad++ 行首行尾添加字符

    有一次要处理SQL,拿到了脚本.但是要将其写入java 代码中,要在行首和行尾添加上引号.利用notepad++进行编辑. $表示行尾,^表示行首. 如上图,就这样.很高效. 如果只是在行尾添加字符, ...

  9. 在VMware Workstation中安装Ubuntu Server 16.04.5图解教程

    最近要在Ubuntu中部署openstack,为了节省空间和内存,最终选择了Ubuntu服务器.看了很多前辈和大佬的安装教程,在这里记录一下我自己的Ubuntu Server 16.04.5的安装过程 ...

  10. ubuntu server 安装nextcloud12

    1.更新系统安装必要的依赖包 [user]$ sudo apt-get update && sudo apt-get -y upgrade [user]$ sudo apt-get i ...