791. 自定义字符串排序 字符串S和 T 只包含小写字符.在S中,所有字符只会出现一次. S 已经根据某种规则进行了排序.我们要根据S中的字符顺序对T进行排序.更具体地说,如果S中x在y之前出现,那么返回的字符串中x也应出现在y之前. 返回任意一种符合条件的字符串T. 示例: 输入: S = "cba" T = "abcd" 输出: "cbad" 解释: S中出现了字符 "a", "b", "c…
792. 匹配子序列的单词数 给定字符串 S 和单词字典 words, 求 words[i] 中是 S 的子序列的单词个数. 示例: 输入: S = "abcde" words = ["a", "bb", "acd", "ace"] 输出: 3 解释: 有三个是 S 的子序列的单词: "a", "acd", "ace". 注意: 所有在words和…
为什么要写这样滴一篇博客捏...因为一个新初一问了一道水题,结果就莫名其妙引起了战斗. 然后突然发现之前理解的桶排序并不是真正的桶排序,所以写一篇来区别下这三个十分相似的排序辣. 老年菜兔的觉醒!!! 记数排序 记数排序是一种很快的排序算法,但是要很多的空间. 具体的操作: 比如说给一个这样的数列:    6 9 3 2 3 5 我萌需要一个数组   a[i] 表示 数列中 数值为 i 的有多少个 这样 就可以 O(n) 处理出这个数组 read(x); a[x]++; 比如辣个栗子的a数组是这…
/** * 对象比较大小compare的用法 字符串排序 * 练习代码, 给定字符串" nba" "cba" "ncaa" "wba" ... 思路: 1.排序,想到数组的排序.数组排序想到选择排序,或者冒泡排序 2.用数组排序的思路做此题.(字符串同理) 3.遍历数组,比较每一个元素与下一个元素的大小关系 4.最后交换两个元素位置 5.输出结果 经过学习总结: 1.String本身是不具备比较大小功能的,但是由于String…
1. 桶排序 1.1 范围为1-M的桶排序 如果有一个数组A,包含N个整数,值从1到M,我们可以得到一种非常快速的排序,桶排序(bucket sort).留置一个数组S,里面含有M个桶,初始化为0.然后遍历数组A,读入Ai时,S[Ai]增一.所有输入被读进后,扫描数组S得出排好序的表.该算法时间花费O(M+N),空间上不能原地排序. 初始化序列S 遍历A修改序列S的项 举个例子,排序一个数组[5,3,6,1,2,7,5,10] 值都在1-10之间,建立10个桶: [0 0 0 0 0 0 0 0…
算法思想: 桶排序将数组分到有限数量的桶里.然后每个桶里再分别排序(使用任何算法) 当要倍排序的数组内的数值时均匀分配的时候,桶排序使用线性时间O(n) 步骤: 根据最大值.最小值.桶内数据范围设定一定数量的数组当桶,可以拿二维数组 遍历数据,将数据放到对应的桶中 对桶内数据进行排序(可以和上一步结合,再放入的时候就排序) 连接桶内的元素 算法实现: def bucket_sort3(collection,default_bucket_size=10): '''自己写的,最快,能处理任意数据''…
好吧,三年了,又重拾我的博客了,是因为啥呢,哈哈哈.今天被问到一个题目,当场答不出来,动手动的少了,再此记录下来. Q:有一个MyObject类型的List,MyObject定义如下: class MyObject{ public int age; public String name; public MyObject(int age,String name){ this.age = age; this.name = name; } @Override public String toStrin…
557. 反转字符串中的单词 III 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: 输入: "Let's take LeetCode contest" 输出: "s'teL ekat edoCteeL tsetnoc" 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格. class Solution { public String reverseWords(String s) { Str…
451. 根据字符出现频率排序 给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 示例 1: 输入: "tree" 输出: "eert" 解释: 'e'出现两次,'r'和't'都只出现一次. 因此'e'必须出现在'r'和't'之前.此外,"eetr"也是一个有效的答案. 示例 2: 输入: "cccaaa" 输出: "cccaaa" 解释: 'c'和'a'都出现三次.此外,"aaaccc…
345. 反转字符串中的元音字母 编写一个函数,以字符串作为输入,反转该字符串中的元音字母. 示例 1: 输入: "hello" 输出: "holle" 示例 2: 输入: "leetcode" 输出: "leotcede" 说明: 元音字母不包含字母"y". class Solution { public String reverseVowels(String s) { if (s.length() ==…