摘要: 给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。 不占用额外内存空间能否做到? //使用了额外内存空间 class Solution { public void rotate(int[][] matrix) { int m = matr 阅读全文
posted @ 2022-05-16 14:10 Arthurma 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。 示例1: 输入:"aabcccccaaa" 输出:"a2b1c5 阅读全文
posted @ 2022-05-16 14:02 Arthurma 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。 回文串不一定是字典当中的单词。 示例1: 输入:"tactcoa" 输出:true(排列有"tacocat"、"atcocta",等等) 思路:统计字符出现的次数,字符个 阅读全文
posted @ 2022-05-16 13:58 Arthurma 阅读(23) 评论(0) 推荐(0) 编辑
摘要: URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。) 示例 1: 输入:"Mr John Smith ", 13 输出:"Mr%20John%20Smi 阅读全文
posted @ 2022-05-16 11:58 Arthurma 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。 思路:实际上就是比较两个字符串中相同字符的个数是否相同 class Solution { public boolean CheckPermutation(String s1, String s 阅读全文
posted @ 2022-05-16 11:53 Arthurma 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 设计一个算法,找出二叉搜索树中指定节点的“下一个”节点(也即中序后继)。如果指定节点没有对应的“下一个”节点,则返回null。 思路:二叉搜索树中序遍历有序,因此:中序后继节点,也就是比它大的最小的一个节点, 若节点存在右子树,则该最小值为右子树的最左叶子节点 若不存在右子树,则该最小值为左子树的父 阅读全文
posted @ 2022-05-16 11:49 Arthurma 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积。 class Solution { public double largestTriangleArea(int[][] points) { //鞋带公式???确定不是在考数学??? double res = 0; int 阅读全文
posted @ 2022-05-16 11:47 Arthurma 阅读(14) 评论(0) 推荐(0) 编辑