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. qt creator 快捷键 (二)

    多使用快捷键能显著提高工作效率,尽可能减少键盘,鼠标之间切换所浪费的时间.我这里列出个人认为非常重要必须掌握的 Qt Creator 快捷键.看你知道几个? 1 .Ctrl(按住)+ Tab快速切换已 ...

  2. 老叶观点:MySQL开发规范之我见(更新版)

    转自:http://mp.weixin.qq.com/s?__biz=MjM5NzAzMTY4NQ==&mid=207239419&idx=2&sn=bddbe0a657758 ...

  3. jquery文件的引入

    上节课说到,一般情况下,是库的文件,该库中都会抛出来构造函数或者对象 ,如果是构造函数,那么创建对象,如果是对象直接调用属性和方法 使用jquery第一步,先引入jquery,然后再写相应的jquer ...

  4. solr跨core查询

    参考文档:这里的跨core不使用solrcloud http://wiki.apache.org/solr/CoreAdmin 注意:跨core查询功能相比单core查询,是有限制的   只需要在ur ...

  5. Vue基础知识之vue-resource和axios(三)

    vue-resource Vue.js是数据驱动的,这使得我们并不需要直接操作DOM,如果我们不需要使用jQuery的DOM选择器,就没有必要引入jQuery.vue-resource是Vue.js的 ...

  6. Django中的Model、Form和ModelForm

    一  Model(数据库操作) 1 数据表操作 两种类型: Code First:创建类→自动生成表 DB First:创建表→自动生成类 (很少用) 单表操作: 一对多:(Forienkey) 多对 ...

  7. tensorflow-windows下安装,python3.6

    安装: pip install tensorflow ps:我第一次安装了,但是导入却失败了. 进入\python3\Lib\site-packages\删除了tensorflow,再次pip ins ...

  8. vs启动项目提示Web 服务器被配置为不列出此目录的内容。

    解决方法 确认网站或应用程序配置文件中的 configuration/system.webServer/directoryBrowse@enabled 属性已设置为 true. 配置一下web.con ...

  9. Gerrit 系统初探 (已转移到 https://steemit.com/gerrit/@linvictor88/gerrit )

    Gerrit 使用简介        Gerrit,一种免费.开放源代码的代码审查软件,使用网页界面.利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或 ...

  10. Xpath解析xml

    Xpath解析xml其实最主要的是查找xml文档中信息,而且不需要了解xml文档结构 package com.huawei.xml; import java.io.InputStream;import ...