【LeetCode】字符串初级算法-验证回文字符串

2018-09-06
阅读 1 分钟
2.8k
题目描述 验证回文字符串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: {代码...} 示例 2: {代码...} 思路 用正则表达式删除非数字和非字母的字符,然后首尾比较。方法一: {代码...} 方法二: {代码...} JavaScript实现...

【LeetCode】字符串初级算法-有效的字母异位词

2018-09-06
阅读 1 分钟
2.7k
题目描述 有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。 示例 1: {代码...} 示例 2: {代码...} 说明:你可以假设字符串只包含小写字母。 进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况? 思路 转成数组,排序,遍历比较。 JavaScript实现...

【LeetCode】字符串初级算法-字符串中的第一个唯一字符

2018-09-06
阅读 1 分钟
1.5k
题目描述 字符串中的第一个唯一字符给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 案例: {代码...} 注意事项:您可以假定该字符串只包含小写字母。 思路 用count数组记录每个字符出现次数。 JavaScript实现 {代码...}

【LeetCode】字符串初级算法-颠倒整数

2018-09-06
阅读 1 分钟
1.3k
题目描述 颠倒整数给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入: 123输出: 321 示例 2: 输入: -123输出: -321示例 3: 输入: 120输出: 21注意: 假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。 思路 字符串和数组的之间的...

【LeetCode】字符串初级算法-反转字符串

2018-09-06
阅读 1 分钟
2.4k
题目描述 反转字符串编写一个函数,其作用是将输入的字符串反转过来。 示例 1: {代码...} 示例 2: {代码...} 思路 先用split()转成数组,再用reverse()反转,最后用join()组合成字符串。 JavaScript实现 {代码...}

【LeetCode】数组初级算法-有效的数独

2018-09-05
阅读 3 分钟
1.9k
题目描述 有效的数独判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 上图是一个部分填充的有效的数独。 数独部分空格内已填入了数字,空白格用 '.' 表示...

【LeetCode】数组初级算法-两数之和

2018-09-05
阅读 1 分钟
1.8k
题目描述 两数之和给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: {代码...} 思路 双重循环,遍历数组 JavaScript实现 {代码...}

【LeetCode】数组初级算法-移动零

2018-09-05
阅读 1 分钟
1.9k
题目描述 移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: {代码...} 说明: {代码...} 思路 删除元素0使用splice(),添加数组元素使用push().注意下标的计算。 JavaScript实现 {代码...}

【LeetCode】数组初级算法-加一

2018-09-05
阅读 1 分钟
2k
题目描述 LeetCode:[链接] 加一给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: {代码...} 示例 2: {代码...} 思路 注意处理进位,用flag标识是否进位。 JavaScript实现...

【LeetCode】初级算法-两个数组的交集 II

2018-09-04
阅读 1 分钟
3.8k
题目描述 两个数组的交集 II给定两个数组,编写一个函数来计算它们的交集。 示例 1: {代码...} 示例 2: {代码...} 说明: 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。我们可以不考虑输出结果的顺序。 进阶: 如果给定的数组已经排好序呢?你将如何优化你的算法?如果 nums1 的大小比 nums2 小很...

【LeetCode】初级算法-136.只出现一次的数

2018-09-04
阅读 1 分钟
1.6k
题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: {代码...} 示例 2: {代码...} 思路 排序,遍历比较 JavaScript实现 {代码...} 思路二(推荐) {代码...} JavaScri...

【LeetCode】初级算法-存在重复

2018-09-04
阅读 1 分钟
2.2k
题目描述 存在重复给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 示例 1: {代码...} 示例 2: {代码...} 示例 3: {代码...} 思路 排序,遍历比较 JavaScript实现 {代码...}

【算法】字节跳动编程题-双生词

2018-09-04
阅读 2 分钟
2.9k
题目描述 双生词 双生词是指满足如下条件的两个字符串:(假设两个字符串分别为S和S’) {代码...} 容易得到,若s与S’为双生词,则s’与s也为双生词 给定一批仅有英文小写字母组成的字符串,询问他们之中是否存在双生词 输入描述 首先给出测试组数t,表示一共有多少组数据 对于每组数据,第一行为一个整数n,表示一共有多少...

【算法】腾讯模拟题:画家小Q

2018-09-03
阅读 5 分钟
1.5k
画家小Q又开始他的艺术创作。小Q拿出了一块有NxM像素格的画板, 画板初始状态是空白的,用'X'表示。小Q有他独特的绘画技巧,每次小Q会选择一条斜线, 如果斜线的方向形如'/',即斜率为1,小Q会选择这条斜线中的一段格子,都涂画为蓝色,用'B'表示;如果对角线的方向形如'',即斜率为-1,小Q会选择这条斜线中的一段格子,都涂画为黄色...

【算法】字节跳动编程题-认识的人

2018-09-03
阅读 2 分钟
4k
Bytedance Efficiency Engineering团队在8月20日搬入了学清嘉创大厦,为庆祝团队的乔迁之喜,字节君决定邀请整个EE团队,举办一个大型团建游戏-字节跳动大闯关。可是遇到了一个问题:

【算法】算法测试题5:牛牛的数列:最长连续子序列

2018-08-31
阅读 3 分钟
4.6k
牛牛现在有一个n个数组成的数列,牛牛现在想取一个连续的子序列,并且这个子序列还必须得满足:最多只改变一个数,就可以使得这个连续的子序列是一个严格上升的子序列,牛牛想知道这个连续子序列最长的长度是多少。

【算法】算法测试题4:最长公共连续子串

2018-08-30
阅读 1 分钟
2.2k
比较两个字符串str1,str2找出str1的子串是否在str2中两个指针i和j:i从头遍历到尾,找以str1[i]开头的子串中最长的在str2中的子串。j从尾倒着走,直到找到子串str1(i,j)在str2中为止。

【算法】算法测试题3:操作序列

2018-08-30
阅读 1 分钟
1.2k
小易有一个长度为n的整数序列,a_1,...,a_n。然后考虑在一个空序列b上进行n次以下操作:1、将a_i放入b序列的末尾2、逆置b序列小易需要你计算输出操作n次之后的b序列。

【算法】算法测试题2:组装三角形

2018-08-30
阅读 1 分钟
1.5k
三角形三边关系:任何两边相加大于第三边,任何两边相减小于第三边。解题思路:先给木棒排序,最长的边减去最小的边大于第三边,最长的边小于其他两边和。注意:Javascript排序sort函数会调用toString方法,导致排序错,需要传入自定义的compare才能正确排序。

【算法】算法测试题1:循环单词

2018-08-30
阅读 2 分钟
1.8k
从第一个单词开始,遍历每个单词。每个没有被统计过的单词i都和后面所有没有统计过的单词j比较,是否构成循环单词。如果构成循环单词且该循环单词没有被统计过,统计数cont+1并且标记j为统计过use[j]=true;如果构成循环单词但是没被统计过,则标记j为统计过use[j]=true,不再统计;如果不够循环单词,则不统计也不标记,不...

【LeetCode】122. 买卖股票的最佳时机 II

2018-08-17
阅读 2 分钟
2.9k
问题描述 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: {代码...} 示例 2: {代码...} 示例 3: {代码...} 题解 思路 {代码...

【LeetCode】189. 旋转数组

2018-08-17
阅读 2 分钟
2k
题目描述 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1: {代码...} 示例 2: {代码...} 解法 解题思路1 将数组分为两部分,分别对左右两部分做翻转,最后对总数组做翻转。 代码 {代码...} O(1)解法 JavaScript实现 循环右移 {代码...}

【LeetCode】26. 删除排序数组中的重复项

2018-08-16
阅读 2 分钟
2.5k
题目描述 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: {代码...} 示例 2: {代码...} 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是...

【LeetCode】476. Number Complement

2017-10-19
阅读 2 分钟
1.5k
Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation.

【LeetCode】561. Array Partition I

2017-10-12
阅读 2 分钟
2.3k
Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1, b1), (a2, b2), ..., (an, bn) which makes sum of min(ai, bi) for all i from 1 to n as large as possible.

【LeetCode】617. Merge Two Binary Trees

2017-10-12
阅读 3 分钟
2.6k
Given two binary trees and imagine that when you put one of them to cover the other, some nodes of the two trees are overlapped while the others are not.

【LeetCode】657. Judge Route Circle

2017-10-11
阅读 3 分钟
2.4k
Initially, there is a Robot at position (0, 0). Given a sequence of its moves, judge if this robot makes a circle, which means it moves back to the original place.

【LeetCode】461. Hamming Distance

2017-10-11
阅读 2 分钟
2.1k
The Hamming distance between two integers is the number of positions at which the corresponding bits are different.

程序设计实习MOOC/自增和自减运算符的重载

2016-07-27
阅读 2 分钟
2.4k
自增++自减--运算符有前置和后置之分,为了区分,后置运算符多一个参数int。前置运算符:作为一元运算符重载,可以重载为成员函数也可以重载为全局函数(返回值到底是不是引用?)。后置运算符:作为二元运算符重载,多写一个参数int,但是没有实际意义。可以重载为成员函数也可以重载为全局函数。返回值不是引用!不是引用...

程序设计实习MOOC/运算符重载实例:可变长整型数组

2016-07-26
阅读 4 分钟
2.9k
运算符重载实例:可变长整型数组 问题 写一个可变长整型数组类CArray,并且满足以下程序的正常运行 {代码...} 程序输出结果 {代码...} 分析 需求分析 CArray需要两个成员变量arr和len,整型指针arr指向动态分配的数组,整型len表示数组元素的个数. 构造函数.可以缺省的指定数组长度(程序中没有强求). 复制构造函数.支持CAr...