自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 58. 最后一个单词的长度

给定一个仅包含大小写字母和空格' '的字符串 s,返回其最后一个单词的长度。 如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。 如果不存在最后一个单词,请返回 0。 说明:一个单词是指仅由字母组成、不包含任何空格的 最大子字符串。 示例: 输入:...

2020-01-31 20:49:31 22 0

原创 27. 移除元素

给定一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums ...

2020-01-31 20:03:52 28 0

原创 1331. 数组序号转换

给你一个整数数组arr ,请你将数组中的每个元素替换为它们排序后的序号。 序号代表了一个元素有多大。序号编号的规则如下: 序号从 1 开始编号。 一个元素越大,那么序号越大。如果两个元素相等,那么它们的序号相同。 每个数字的序号都应该尽可能地小。 示例 1: 输入:arr = [40,...

2020-01-31 16:04:09 217 0

原创 1317. 将整数转换为两个无零整数的和

「无零整数」是十进制表示中 不含任何 0的正整数。 给你一个整数n,请你返回一个 由两个整数组成的列表 [A, B],满足: A 和 B都是无零整数 A + B = n 题目数据保证至少有一个有效的解决方案。 如果存在多个有效解决方案,你可以返回其中任意一个。 示例 1: 输入:n...

2020-01-31 15:26:27 189 0

原创 1309. 解码字母到整数映射

给你一个字符串s,它由数字('0' - '9')和'#'组成。我们希望按下述规则将s映射为一些小写英文字符: 字符('a' - 'i')分别用('1' -'9...

2020-01-31 14:57:21 55 0

原创 把字符串转换成整数

题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数值表达则返回该数字,否则返回0 示例1 输入 复制 +21474836...

2020-01-25 14:04:14 118 0

原创 不用加减乘除做加法

题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 知识点:用位运算模拟加法 public class Solution { public int Add(int num1,int num2) { int res = 0; ...

2020-01-25 13:32:33 61 0

原创 数组中只出现一次的数字

题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 思路:如果只有1个不同的数字,则一直做异或,最后得到的就是结果,但现在要找出2个,如果按之前的做法一直异或最后的结果是这2个数字异或的结果,这个结果假设为0010,其中1这个位代表这里2个数...

2020-01-25 00:29:51 38 0

原创 变态跳台阶

题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 1.动态规划 2.优化的动态规划,优化了不必要的空间 # -*- coding:utf-8 -*- class Solution: def jumpFloo...

2020-01-23 11:33:49 46 0

原创 从尾到头打印链表

题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 1.递归 2.使用辅助空间 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x...

2020-01-23 10:35:44 25 0

原创 删除链表中重复的结点

题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 1.牺牲一点空间的方法,是一个很重要的思考方向 # -*...

2020-01-22 11:20:36 53 0

原创 表示数值的字符串

请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e",&...

2020-01-21 19:30:07 31 0

原创 构建乘积数组

题目描述 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。 暴力 o(n²) # -*- coding:utf-8 -*- class ...

2020-01-21 16:25:57 21 0

原创 求1+2+3+...+n

题目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 思路:递归+布尔条件 # -*- coding:utf-8 -*- class Solution: def __init__(...

2020-01-20 22:18:57 35 0

原创 位运算一些常用的编程技巧总结

判奇偶 if( n % 2) == 01 // n 是个奇数 } 等价 if(n & 1 == 1){ // n 是个奇数。 } 交换两个数 int tmp = x; x = y; y = tmp; 等价 x = x ^ y // (1) y = x ...

2020-01-17 10:12:24 38 0

原创 数组中出现次数超过一半的数字

题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 1.用字典 o(n) o(n) 2.先排序找中间 o(nlogn) o...

2020-01-11 21:50:09 103 0

原创 二叉树中和为某一值的路径

题目描述 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) # -*- coding:utf-8 -*- # class TreeNod...

2020-01-11 19:43:02 40 0

原创 包含min函数的栈

题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 # -*- coding:utf-8 -*- class Solution: def __init__(self): self.stack = [] ...

2020-01-10 20:35:05 26 0

提示
确定要删除当前文章?
取消 删除