程序员面试金典
hzq201435
这个作者很懒,什么都没留下…
展开
-
01_09字符串旋转
题目描述字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。示例一:输入:s1 = “waterbottle”, s2 = “erbottlewat”输出:True示例二:输入:s1 = “aa”, s2 = “aba”输出:False解题思路:others这题没有做出来,测试样例过了,内部样例没过,报告0x500000000错误,应该是自己定义变量内存有问题。一、做法很简单,但是很难想原创 2020-12-27 23:04:03 · 109 阅读 · 0 评论 -
01_08零矩阵
题目描述编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。示例一:输入:[[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例二:输入:[[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]解题思路:My分别记录行和列,出现0的下标,然后分别遍历相关行和列,将出现的数值赋值为0.#inclu原创 2020-12-27 20:40:17 · 167 阅读 · 1 评论 -
01_07旋转矩阵
题目描述给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?示例一:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]示例二:给定 matrix =[[ 5, 1, 9,11],[ 2, 4, 8,10],[13, 3, 6, 7],[15,14,12,16]],原地原创 2020-12-27 20:26:39 · 127 阅读 · 0 评论 -
01_06字符串压缩
题目描述字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例一:输入:“aabcccccaaa”输出:“a2b1c5a3”示例二:输入:“abbccd”输出:“abbccd”解释:“abbccd"压缩后为"a1b2c2d1”,比原字符串长度更长。提示:字符串长度在[0, 50000]范围内。解题思原创 2020-12-27 20:03:54 · 267 阅读 · 1 评论 -
01_05一次编辑
题目描述字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。示例一:输入:first = “pale”second = “ple”输出: True示例二:输入:first = “pales”second = “pal”输出: False解题思路:MY首先判断两个字符串长度是不是相同,如果不相同(只有“删除一个字符”满足条件,分s1>s2和s1<s2),分别用两个指针指向两个字符串原创 2020-12-27 19:57:01 · 131 阅读 · 0 评论 -
01_04回文排列
题目描述给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。回文串不一定是字典当中的单词。示例一:输入:“tactcoa”输出:true(排列有"tacocat"、“atcocta”,等等)解题思路:MY是否能是回文串,有一个前提,字符串中出现个数为奇数的字符只能为1个或0个。创建一个数组长度为(128),这里包含了出现字符的ASCII值,直接用数组记录每个字符出现的次数,如果最后奇数次字符出现大于1,则可判定原创 2020-12-27 19:41:58 · 114 阅读 · 0 评论 -
01_03URL化
题目描述URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)示例一:输入:"Mr John Smith ", 13输出:“Mr%20John%20Smith”示例二:输入:" “, 5输出:”%20%20%20%20%20"提示:字符串长度在 [0, 500000] 范围内解题思路:My先定义一原创 2020-12-25 14:09:44 · 101 阅读 · 1 评论 -
01_02 判定字符串是否重排列
题目描述给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。示例 1:输入: s1 = “abc”, s2 = “bca”输出: true示例 2:输入: s1 = “abc”, s2 = “bad”输出: false说明:0 <= len(s1) <= 1000 <= len(s2) <= 100题目大意:求两个字符串经过变化后是否能相同解题思路:MY思路一: 首先比较字符串长度,如果长度原创 2020-12-15 21:55:27 · 184 阅读 · 0 评论 -
01_01判断字符串是否唯一
实现一个算法,确定一个字符串 s 的所有字符是否全都不同。示例 1:输入: s = “leetcode”输出: false示例 2:输入: s = “abc”输出: true限制:0 <= len(s) <= 100如果你不使用额外的数据结构,会很加分#include<iostream>// #include<stdio.h>using namespace std;int main(){ //char s[120]; string原创 2020-12-15 17:19:48 · 329 阅读 · 0 评论