![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java LinkCode算法题
本人写算法题时的笔记,希望能够提升自己能力
住在海边的zhu
这个作者很懒,什么都没留下…
展开
-
521--使用LinkedHashSet去重数组,使原数组保留原来顺序 LintCode算法题
LintCode算法题本人的拙见,不是最佳算法,只为通过本题。数组去重问题1.使用Set集合的不可重复性进行元素过滤2.使用有顺序、不重复特点的链表的哈希集合3.使用list集合然后遍历数组将元素放入集合,再用contains()方法判断一个集合中是否已存在该元素4.原始方法。双重循环遍历数组,然后逐个判断重复,设立标记,用来分辨是否重复,根据标记将不重复的元素存入新数组。因为笔者想保留原数组顺序,因此使用的是哈希链表,第二种方法。521.去除重复元素给一个整数数组,去除重复的元素。你应原创 2020-12-09 15:51:59 · 463 阅读 · 0 评论 -
846--二维数组多关键字排序 LintCode算法题
LintCode算法题本人的拙见,不是最佳算法,只为通过本题。846.多关键字排序给定 n 个学生的学号(从 1 到 n 编号)以及他们的考试成绩,表示为(学号,考试成绩),请将这些学生按考试成绩降序排序,若考试成绩相同,则按学号升序排序。样例样例1输入: array = [[2,50],[1,50],[3,100]]输出: [[3,100],[1,50],[2,50]]样例2输入: array = [[2,50],[1,50],[3,50]]输出: [[1,50],[2,50],[3,原创 2020-12-09 15:35:32 · 120 阅读 · 0 评论 -
检验字符串中英文的正确性,句子首字母必须大写,单词除首字母外不能大写
LintCode算法题本人的拙见,不是最佳算法,只为通过本题。检验字符串中英文的正确性,句子首字母必须大写,单词除首字母外不能大写。字符串只允许出现大小写字母。上代码private static int count(String s) { String[] firstSentence = s.trim().split("\\.\\s+"); String[] firstWord = s.trim().split("\\s+"); int count =原创 2020-12-09 10:26:01 · 389 阅读 · 0 评论 -
输出字符串中出现最多的字符及次数
LintCode算法题本人的拙见,不是最佳算法,只为通过本题。输出字符串中字符出现最多的次数以及字符。字符串中只允许出现大小写字母,如果需要其余字符,需要更改代码。上代码private static int most(String str) { if (str == null) { return 1; }else if (str.length() == 0){ return 0; }else {原创 2020-12-09 10:22:15 · 2340 阅读 · 0 评论 -
8--LintCode算法题 旋转字符串
LintCode算法题本人的拙见,不是最佳算法,只为通过本题。8.旋转字符串中文English给定一个字符串(以字符数组的形式给出)和一个偏移量,根据偏移量原地旋转字符串(从左向右旋转)。样例样例 1:输入: str=“abcdefg”, offset = 3输出: str = “efgabcd” 样例解释: 注意是原地旋转,即str旋转后为"efgabcd"样例 2:输入: str=“abcdefg”, offset = 0输出: str = “abcdefg” 样例解释:原创 2020-12-09 10:17:42 · 173 阅读 · 0 评论 -
53--LintCode算法题 翻转字符串中的单词,倒序输出字符串中单词
LintCode算法题不是最佳算法,只为通过本题。53. 翻转字符串中的单词中文English给定一个字符串,逐个翻转字符串中的每个单词。样例样例 1:输入: “the sky is blue”输出: “blue is sky the”样例解释: 返回逐字反转的字符串.样例 2:输入: “hello world”输出: “world hello”样例解释: 返回逐字反转的字符串.说明单词的构成:无空格字母构成一个单词,有些单词末尾会带有标点符号输入字符串是否原创 2020-12-09 10:16:34 · 221 阅读 · 0 评论 -
56--匹配两数之和的下标
LintCode算法题本人的拙见,不是最佳算法,只为通过本题。56. 两数之和中文English给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 0 到 n-1。样例2:给出 numbers = [15, 2, 7, 11], target = 9, 返回 [1, 2].public int[] twoSum(int[] numbers, int target) {原创 2020-12-09 10:09:02 · 92 阅读 · 0 评论 -
82--寻找落单的数
落单的数题目要求:给出 2 * n + 1个数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。样例样例 1:输入:[1,1,2,2,3,4,4]输出:3 public int singleNumber(int[] A) { Arrays.sort(A); if (A.length == 1){ return A[0]; }else { for (int i = 0; i < A.l原创 2020-12-09 10:05:52 · 162 阅读 · 0 评论 -
209--给出一个字符串,找出第一个只出现一次的字符
给出一个字符串,找出第一个只出现一次的字符字符串只允许出现大小写字母。public char firstUniqChar(String str) { // Write your code here char result = '0'; char temp; int[] num = new int[52]; for (int i = 0; i < str.length(); i++) { temp原创 2020-12-09 09:55:30 · 121 阅读 · 0 评论 -
检验字符串是否全为数字字母下划线组成
检验字符串是否全为数字字母下划线组成话不多说,上代码。首字母不能为数字,整个字符串为【0-9】【a-z】【A-Z】_组成。正则表达式“\w”。public static boolean str(String str) { final String number = "0123456789"; char[] ch = str.toCharArray(); if (ch.length == 0) return false;原创 2020-12-09 09:48:58 · 1357 阅读 · 0 评论