算法
LeetCode
wan_zaiyunduan
大江大海大格局,基础基层基本功
展开
-
将一个字符串数组排序
package com.mc.Demo;public class StringSort { public void sort(){ String[] strs={"avcd","bdce","avcdf","cced","bdce"}; for (int i = 0; i < strs.length; i++) {原创 2017-05-14 18:07:33 · 451 阅读 · 0 评论 -
二分查找
对于一个有序数组,进行排序,最快的堆排序,最差的是快速排序,那在一个有序数组中查找某个元素,用二分查找。 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前原创 2017-05-18 12:27:29 · 333 阅读 · 0 评论 -
冒泡排序
package com.mc.Demo;public class Sort { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr={3,6,2,4,9,7}; for(int i = 0;i<arr.length-1;i++原创 2017-05-14 21:24:33 · 179 阅读 · 0 评论 -
计算一个字符串里数字、汉字、字母的个数
刚上学那会就学过,又敲了遍,重温了下,万一面试有用呢?package com.mc.Demo;public class TestDemo { public static void main(String[] args) { int engishCount=0; int chineseCount =0; int digitCount =0;原创 2017-05-14 17:33:02 · 723 阅读 · 0 评论 -
快速排序
package com.mc.Demo;public class TestDemo { /** * 快速排序算法,将数组的第零个位置看做中轴,和最后一个比较,如果比它小交换,比它大不做处理, * 交换后再和小的那端比,比它小不交换,比他大交换,这样循环往复,一趟排序完成,左边就是比中 * 轴小的,右边就是比中轴大的,再用分别对这两个独立数组进行排序。,原创 2017-05-14 22:49:07 · 185 阅读 · 0 评论 -
判断输入三边能否构成三角形
package com.mc.Demo;import java.util.Scanner;public class TestDemo { public static void main(String[] args) { // new TestDemo(); Scanner sc = new Scanner(System.in); System.o原创 2017-05-14 21:17:27 · 5096 阅读 · 1 评论 -
找出数组中出现次数最多的元素,输出该字符和出现次数
/** * 找出数组中出现次数最多的元素,输出该字符和出现次数 * @param list * @return */public static String getMaxChraacter(List list){ Map<String,Integer> map=new HashMap<>(); int maxCount=0; String ch=null; for (int i = 0; i < list.size(); i++) .原创 2021-04-27 15:12:02 · 190 阅读 · 0 评论 -
最大无重复子串
/** * 无重复最长子串 * 转:输出一个字符串的最大无重复字符的子串 * * @return */ public int getLongestSubStr(String strs) { Map<Character,Integer> map = new HashMap<>(); int max=0,start=0; int n=strs.length(); ......原创 2021-09-16 20:55:32 · 114 阅读 · 0 评论 -
2021-08-18罗马数字转整数
罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II。通常...原创 2021-08-18 08:04:48 · 804 阅读 · 0 评论 -
判断整数是否回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读, 为 01 。因此它不是一个回文数。.原创 2021-08-17 23:05:57 · 698 阅读 · 0 评论 -
2021-08-16整数反转
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围[−231,231− 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 1:输入:x = 123输出:321示例 2:输入:x = -123输出:-321示例 3:输入:x = 120输出:21示例 4:输入:x = 0输出:0提示:-231 <= x <= 231 - 1来源...原创 2021-08-16 23:55:25 · 47 阅读 · 0 评论 -
2021-08-16两数之和
给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], tar...原创 2021-08-16 23:00:07 · 162 阅读 · 0 评论