2 菜的睡不着~聪聪

尚未进行身份认证

暂无相关简介

等级
TA的排名 7w+

【力扣】136. 只出现一次的数字

题目: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例:示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4解题思路:一、哈希表 O(N) S(N)二、排序 O(NlogN)三、最佳算法:位运算 O(N) S(1)一、哈希表 O(N) S(N)这个思路很简单:先利用哈希表存储数字和数字出现次数,<k

2020-05-26 19:29:27

面试题48. 最长不含重复字符的子字符串

一、dp数组存储字符,最笨的办法,O(N^3)二、dp数组存储最长字符串长度,O(N^2)三、双指针构建滑动窗口,O(N^2)四、双指针+哈希表,O(N)五、双指针+数组,O(N)

2020-05-24 23:14:25

【python】文件操作

文件操作

2020-05-24 13:19:10

面试题64. 求1+2+…+n

发散思维的题目

2020-05-22 23:12:20

面试题12. 矩阵中的路径

深度优先DFS搜索基础题目

2020-05-21 23:59:44

十、Linux多进程(二)

一、fork()创建子进程(一)基础概念(二)示例二、父子进程的存储空间三、父进程把存储空间拷贝给子进程的时机和方式(一)执行fork()时拷贝?一次性拷贝?(二)写时拷贝四、关于fork的例题

2020-05-20 21:02:19

十、Linux多进程(一)

一、主函数(main函数)的参数(一)参数含义(二)获取&&传递参数二、输出缓冲区三、内存空间分布四、Linux上查看系统资源(一)查看资源(二)交换分区的开启&&关闭

2020-05-19 21:53:10

面试题47. 礼物的最大价值

题目: 在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?示例 :输入: [ [1,3,1], [1,5,1], [4,2,1] ]输出: 12解释: 路径 1→3→5→2→1可以拿到最多价值的礼物提示:0 < grid.length <= 200;0 < grid[0]

2020-05-18 16:11:23

【python】字符串(二)

今天我们来看一看关于判断字符串格式的内容,这也是常见应用。标题

2020-05-17 13:56:33

面试题63. 股票的最大利润

这个题和买股票的最佳时机一模一样,所以题目和示例就不再陈述,这篇主要说一下动态规划解决这个问题。前面我们使用暴力法和滑动窗口的方式解决了这个问题,但是最好的思路是动态规划。这个题目很简单,但是对我们理解动态规划很有帮助,碰到最优问题,或者是结果数组存在某些联系的问题,我们最应该先想到动态规划,因为它的本质是:求解最优结果,每次的最优结果通过状态转移方程不断计算得到。借助辅助空间,将每次的结果记忆化,降低时间复杂度。那我们就看一下这个题目如何使用动态规划,首先考虑用数组状态,定义状态转移方程,是否

2020-05-16 23:32:56

面试题20. 表示数值的字符串

题目: 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、“5e2”、"-123"、“3.1416”、“0123"都表示数值,但"12e”、“1a3.14”、“1.2.3”、“±5”、"-1E-16"及"12e+5.4"都不是。...

2020-05-16 09:44:24

【啊哈算法】三、快速排序(二)

我们在前面的快速排序(一)中已经阐述了快速排序的基本思想,实现以及优化。前面的排序思想适用于所有数据,前提是存储数据的数据结构支持双向遍历,否则不能进行快排,那么我们应该如何给单向数据结构进行快排呢?文章目录:一、单向扫描的快速排序思想二、实现单向快速排序一、单向扫描的快速排序思想我们先来分析一下上一篇双向扫描的特点,以此来推导单向扫描:为了方便理解,我们将哨兵用 left 和right表示。双向扫描: left指向开头,right指向结尾,我们以第一遍排序为例,我们将基准选择最左边的一位,就是ar

2020-05-14 00:16:46

九、操作系统基础知识

我们今天来讲一下你需要了解的操作系统最基础的知识点,这些都只是皮毛,博主这一篇讲的都很浅,只会讲些基础概念,如果需要深入学习,一定要仔细读《计算机组成原理》《操作系统》这两本书呀!文章目录:一、计算机基本部件(一)五大部件(二)总线(三)存储器(四)指令二、进程(一)进程概念(二)进程状态(三)并行 && 并发三、内存管理(一)分页(二)虚拟内存四、操作系统发展一、计算机基本部件(一)五大部件基于冯诺伊曼体系,将计算机分为5大组成部分:运算器:也叫算数逻辑单元,完成对数据的各种常

2020-05-13 18:01:17

【啊哈算法】三、快速排序(一)

今天我们来学习一个不浪费空间,速度又快的排序算法,那就是快速排序。文章目录一、概念二、特点三、实现(一)递归实现(二)对于基准选择的优化(三)非递归实现一、概念我们上次学的冒泡排序是两两交换排序,这样很费时间,所以人们想出了跳跃式交换比较,让交换的距离增加,那么总的比较次数和交换次数就少了,这就是快速排序的思想,严格来阐述:我们每次选择一个基准(以它为标准来比较),定义哨兵i,j,从两边开始探测,每次j(右边哨兵)先走,哨兵 j 找小于基准的值,哨兵 i 找大于基准的值,找到后交换,直到 i 和

2020-05-12 20:55:02

面试题60. n个骰子的点数

题目: 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。示例:示例 1:输入: 1输出: [0.16667,0.16667,0.16667,0.16667,0.16667,0.16667]示例 2:输入: 2输出:[0.02778,0.05556,0.08333,0.11111,0.13889,0.16667,0.13889,0.

2020-05-11 23:25:08

八、用户管理命令 && 文件系统 && 连接文件 && 系统知识

文章目录一、用户管理命令(一)3个存储用户信息的文件(二)添加用户(三)修改密码(四)删除用户二、文件系统三、连接文件(一)软连接(类似快捷方式)(二)硬连接(类似别名)四、系统知识(一)系统运行级别(二)关机 && 重启一、用户管理命令(一)3个存储用户信息的文件Linux是多用户的操作系统,对于用户和系统的管理一般都是root最高权限的管理员来管理,我们首先了解一下用户的信息都是在哪里存放的,三个文件:我们先进入cd /etc,进入etc,它包含了存放系统的配置文件,包括vim,

2020-05-09 22:40:57

七、进程管理命令

今天来了解一下进程,奥里给!!!文章目录一、关于进程二、查看进程命令(一)ps(二)top(三)pstree(四)jobs三、前台&&后台运行进程命令四、挂起后台进程命令五、结束进程命令一、关于进程四个容易搞混的概念:源码文件:.c;.cpp等程序员在编译器上手敲的代码。程序:使用编译器将源码编程为计算机能够识别并执行的二进制文件(.exe,a.out),是存储在磁盘上的可执行的二进制文件;进程: 运行中的程序,将二进制可执行文件加载到内存上,然后由CPU执行其中的一些指令

2020-05-08 21:26:28

面试题65. 不用加减乘除做加法

题目: 写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。示例:输入: a = 1, b = 1输出: 2提示:a, b 均可能是负数或 0;结果不会溢出 32 位整数思路:1. 推导思路:不让用四则运算,那么只能用位运算,这个大部分人都能想到,但是咋用我想了很久都没想到????,当时就感觉这个有点像模电里面的全加器,全加器就是利用门电路...

2020-05-08 00:38:19

【啊哈算法】二、冒泡排序

今天来学习另一个排序算法,这个算法解决了桶排序的缺点,但在某些地方比如时间复杂度不如桶排序。文章目录一、概念二、特点三、例题(一)冒泡核心代码1. 平均复杂度为O(N^2)的,无论数据是否有序。2. 当数据有序时,时间复杂度为O(N)。(二)成绩排序一、概念冒泡排序:是一种排序算法,它的基本思想是每次比较相邻的元素,如果它们的顺序错误就把它们交换过来,每次都可以确定一个最大或最小数的位置。...

2020-05-07 12:04:44

【python】五、字符串(一)

文章标题字符串基础知识例题1. 组成新字符串2. 生成包含15个字母的列表3. 生成10位字符密码4. 寻找特定字符字符串基础知识定义字符串:s1 = ‘Hello World!’利用下标访问字符串,利用“:"可以访问一定区间的字符串。s1[0]=Hs1[0:1]=He //访问0到1号下标的字符串s1[:4]=Hello//表示从0到4号位置的字符串连接字符串用...

2020-05-06 23:10:01

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 原力探索 · S
    原力探索 · S
    在《原力计划【第二季】》打卡挑战活动中,发布 12 篇原创文章参与活动的博主,即可获得此勋章。(本次活动结束后统一统计发放)