算法
清风丿自来
人生要是无憾,那该有多无趣
展开
-
利用java打印心型、圆形图案
相信对于打印三角形都没什么难度,只需要利用for循环嵌套使用就行 但是对于打印圆形和三角形不同因为到圆心距离相等的点一般不会横坐标和纵坐标都为整数打印爱心 爱心的公式 (x²+y²-1)³-x²*y³=0调用此方法即可打印爱心图案 /** *打印心形 */ public static void aiXin(){ fo...原创 2018-04-01 20:33:21 · 43787 阅读 · 10 评论 -
求最大字段和
这个题目相信很多人都经常遇到,求一个数组的最大子数组和什么的, 首先给你一段数字 1、5、7、-2、-5、0;让你求最大字段和,从第一个数开始,统计目前累加的数的和是不是大于0 ,如果是大于0 则可以将下一个数字加进去,如果不大于0 就没必要加了,之间从当前的数组开始一次新的累加,每次累加之后就和max进行一下比较,将max保存为最大值/** * 获取数组最大字段和 ...原创 2018-08-25 18:30:27 · 1185 阅读 · 0 评论 -
链表环相关算法
链表是java中较为常用的数据结构,不管是list中还是hashmap中都有它的影子下面就是几个链表的常见算法题1、判断链表是否有环 采用两个指针的方式,这个有点像中学时期的追及问题,用一个快指针每次走两个节点,一个慢指针每次走一个节点,如果快指针最后追上了满指针,那么很显然有环, 如果快指针直接就到达了端点,那么久无环具体算法实现/** * ...原创 2018-08-25 18:55:34 · 303 阅读 · 0 评论 -
100层楼扔两个鸡蛋的问题
今天看到一道比较有意思的题目: 现在有两个一样的鸡蛋,坚硬程度未知,有一栋100层的大楼,鸡蛋从楼上扔下去可能坏也可能不坏,问:最少测试多少次能够找到鸡蛋不坏的最高楼层乍一看,我瞬间想到了二分,折半查找, 首先,100层楼,直接取一半,从50层扔下 1、坏了,那么再从1-50中找,此时手上只有一个鸡蛋,因此不能再折半了,只能从一楼开始轮询 2、没坏,那么从50-100中再进行折...原创 2018-09-11 11:23:03 · 8994 阅读 · 0 评论 -
算法,求数组中的元素和为某个数
1、更简单一点的题目:判断总共n个数,从1-n,找出其中和为 S的一段序列这个题目采用的是:用维持一个窗口,如果窗口中的数小于了S就像S向右扩张,如果大于S就把左边的数去掉import java.util.ArrayList;public class Solution { public ArrayList<ArrayList<Integer>> Find...原创 2018-09-11 11:30:22 · 3449 阅读 · 0 评论 -
一个数只能减一或者乘二,从一个数变为另一个数的最小操作次数
很遗憾,做完的时候才AC了55% 如果 a>=b 的 话就只能用减法 如果apackage test;import java.util.Scanner;public class Main { public static void main(String[] args) { new Main().getInfo(); } pub...原创 2018-09-03 21:28:31 · 8453 阅读 · 1 评论 -
在一个数组中查找任意个数和为m的的组合
最近比较郁闷,遇到几次类似的题目了,现在打算总结一下,防止以后又忘了1、最简单的一种是在一个数组中查找两个数和为m的所有组合直接计算即可,比较简单2、剑指offer上一题目小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和...原创 2018-10-11 17:21:02 · 9404 阅读 · 3 评论