![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
pocher
Your thought is the parent which gives birth to all things
展开
-
8皇后问题
我们有一个 8x8 的棋盘,希望往里放 8 个棋子(皇后),每个棋子所在的行、列、对角线都不能有另一个棋子package com.example.demo;public class _8Queens { int[] result = new int[8];//全局或成员变量,下标表示行,值表示queen存储在哪一列 public void cal8queens(in...原创 2020-01-05 17:04:31 · 329 阅读 · 0 评论 -
算法题-给定字符串,按照字符出现的频率从高到低依次打印出来
例如给定‘asdsdss’ 字符s出现4次,d出现2次,a出现一次,打印结果应为:ssssdda以下是解体过程package com.example.demo;import java.util.*;public class Deni { public static void main(String[] args) { String s = "aaff...原创 2019-12-22 15:09:22 · 2369 阅读 · 0 评论 -
数据结构与算法-快速排序
以下代码是作者本人,在idea里验证过的,核心代码主要就是原地完成排序并获取中间值的下标,有两种方法来实现请参考ge tMid()与getMid2()两个方法,第一种方法更容易理解,但不优雅,第二种理解起来困难些,但是代码看起来更优雅。快速排序是时间复杂度是O(nlogn),空间复杂度O(1),但是不是稳定的排序算法。相同的元素在使用快速排序后原来的循环可能会发生改变。 /** ...原创 2019-12-22 13:33:39 · 163 阅读 · 0 评论 -
两数之和并返回各自下标
给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]...转载 2019-03-20 14:40:29 · 758 阅读 · 0 评论 -
整数反转-深度解析
题目:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。...原创 2019-03-20 15:37:41 · 8772 阅读 · 2 评论 -
数组与链表
数组&链表比较数组使用数组意味着所有待办事项在内存中都是相连的(紧靠在一起的)。所以在数组中添加新元素也可能很麻烦。如果没有了空间,就得移到内存的其他地方,因此添加新元素的速度会很慢。一种解决之道是“预留座位”:即便当前只有3个待办事项,也请计算机提供10个位置,以防需要添加待办事项。这样,只要待办事项不超过10个,就无需转移。这是一个不错的权变措施,但你应该明白,它存在如下两...原创 2019-05-09 10:59:19 · 229 阅读 · 0 评论