Java算法
文章平均质量分 53
zIconKr
这个作者很懒,什么都没留下…
展开
-
二分查找
题目描述对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。给定一个整数数组A及它的大小n,同时给定要查找的元素val,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。若该元素出现多次,请返回第一次出现的位置。测试样例:[1,3,5,7,9],5,3返回:1:1.题目没给出数组原创 2017-10-18 15:37:37 · 289 阅读 · 0 评论 -
Java仿实现微信红包分配算法
点此直达原文算法介绍一、红包金额限制 对于微信红包,我们知道每人随机的最小红包是1分,最大金额是200元,这里我们同样来设置红包的范围,下面代码我们统一金钱单位为分。/** * 1.总金额不超过200*100 单位是分 * 2.每个红包都要有钱,最低不能低于1分,最大金额不能超过200*100 */ private static final int M转载 2017-10-13 15:59:16 · 4401 阅读 · 2 评论 -
最长回文子串
题目描述对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。给定字符串A以及它的长度n,请返回最长回文子串的长度。测试样例:"abc1234321ab",12返回:7import java.util.*;public class Palindrome { public int getLongestPalindrome(String A, int原创 2017-10-12 18:20:14 · 176 阅读 · 0 评论 -
二进制中有多少个1
计算一个十进制数转为二进制后有多少个1(或者0)样例:给定32(100000)返回1给定5(101)返回2分析方法一:普通法public int countOnes1(int num){ int count = 0; while(num!=0){ if(num%2==1) cou原创 2017-10-21 15:28:45 · 697 阅读 · 0 评论 -
Java算法之动态规划基本思想以及具体案例
动态规划转载 2017-10-11 19:15:59 · 736 阅读 · 0 评论 -
动态规划算法(后附常见动态规划例题及Java代码实现)
动态规划转载 2017-10-11 20:53:49 · 4252 阅读 · 0 评论 -
给定一个序列,取出其中第二大的数,要求不对整个序列排序
:循环整个序列,以第一数为最大值max,当下一个数大于max时,先将max赋值给maxSecond,再将这个数赋值给max;否则如果这个数小于max且大于maxSecond,就将这个数赋值给maxSecond。package com.nd;/** * * @author zy * @date 2017年10月10日 上午8:52:37 * @Decription 给定一个序列,取出原创 2017-10-10 09:38:42 · 889 阅读 · 0 评论 -
输出单层结点
对于一棵二叉树,请设计一个算法,创建含有某一深度上所有结点的链表。给定二叉树的根结点指针TreeNode* root,以及链表上结点的深度,请返回一个链表ListNode,代表该深度上所有结点的值,请按树上从左往右的顺序链接,保证深度不超过树的高度,树上结点的值为非负整数且不超过100000。:使用层序遍历,每遍历一层,dep--;当dep==1时,就遍历到了dep层,就可以停止遍历了。原创 2017-10-20 19:49:17 · 230 阅读 · 0 评论 -
求两个字符串的编辑距离
原文很多程序都需要利用到字符串的比较,而字符串的编辑距离在字符串相似性比较中,应用广泛。下面分享字符串编辑距离的求解。概念 字符串的编辑距离,又称为Levenshtein距离,由俄罗斯的数学家Vladimir Levenshtein在1965年提出。是指利用字符操作,把字符串A转换成字符串B所需要的最少操作数。其中,字符操作包括:删除一个字符插入一个字符修改一转载 2017-10-19 09:10:30 · 1080 阅读 · 0 评论 -
单链表中k个结点一组进行反转
【025-Reverse Nodes in k-Group(单链表中k个结点一组进行反转)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题 Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If the number of转载 2017-10-25 21:02:11 · 1279 阅读 · 0 评论