当前位置: 首页 > wzjs >正文

php小程序商城厦门seo公司到1火星

php小程序商城,厦门seo公司到1火星,网页显示wordpress,移动网站推广一、思路 回溯的入门题,核心思路就是递归(基础位置)嵌套循环(被交换的数字),然后每个循环都会将之前的交换操作取消,所以称为回溯。至于全排列这里利用交换的思想就是每个数字都与其身后的数字…

一、思路

回溯的入门题,核心思路就是递归(基础位置)嵌套循环(被交换的数字),然后每个循环都会将之前的交换操作取消,所以称为回溯。至于全排列这里利用交换的思想就是每个数字都与其身后的数字交换一次,即可得到全部排列。

二、记忆

1.java中复杂数据类型传递的都是引用,所以并不能直接赋值,不然最后指向的都是同一个output,一定要新初始化一个List然后把output的值传进去

if (first==n){res.add(new ArrayList<Integer>(output));//到底后将output列表加入res列表}

2. java中的8种基本数据类型,其余皆为复杂类型或者包装类

一、Java中的8种基本数据类型(Primitive Types)

类型(Type)占用字节(Bytes)位数(Bits)默认值(Default Value)取值范围(Range)说明(说明/用途)
byte1 字节8 位0-128 ~ 127整数,节省内存,适用于大型数组
short2 字节16 位0-32,768 ~ 32,767较小的整数值,节省内存
int4 字节32 位0-2^31 ~ 2^31-1默认整数类型,最常用
long8 字节64 位0L-2^63 ~ 2^63-1大整数值,后缀 L
float4 字节32 位0.0f大约 ±3.40282347E+38F(6-7 位小数)单精度浮点数,后缀 f 或 F
double8 字节64 位0.0d大约 ±1.79769313486231570E+308(15位小数)双精度浮点数,默认浮点类型
char2 字节16 位'\u0000'0 ~ 65535(Unicode字符)存储单个字符
boolean1 位(虚拟机优化)不固定falsetrue 或 false逻辑类型

✅ 二、注意事项

1. 默认值问题
  • 基本类型的默认值适用于 成员变量
  • 局部变量(函数内部定义的变量)没有默认值,必须显式初始化,否则编译报错。
2. 整数默认类型
  • 整数 默认是 int 类型:

int a = 100; // 正确 long b = 100; // 正确,自动提升 long c = 100L; // 正确,明确 long

3. 浮点数默认类型
  • 浮点数 默认是 double 类型:

float x = 3.14f; // 必须加 f double y = 3.14; // 正确

4. char 是无符号的
  • char 用于表示 Unicode 字符,实际上是 0~65535 范围的整数:

char ch = 'A'; // 存储字符 char ch2 = 65; // 也是合法,代表 'A'

5. boolean 只有 true / false

boolean flag = true; boolean isEmpty = false;


✅ 三、基本类型与包装类(Wrapper Classes)

基本数据类型(Primitive Type)包装类(Wrapper Class)
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean
  • 包装类存在于 java.lang 包中,用于 集合框架(如 List、Map)、泛型等不能直接存储基本类型的地方。
  • 自动装箱(Autoboxing):基本类型自动转换为包装类。
  • 自动拆箱(Unboxing):包装类自动转换为基本类型。

int num = 10; Integer numObj = num; // 自动装箱 int value = numObj; // 自动拆箱


✅ 四、扩展:默认值示例

public class Test { static int a; static boolean b; static char c; static double d; public static void main(String[] args) { System.out.println(a); // 0 System.out.println(b); // false System.out.println((int)c); // 0 System.out.println(d); // 0.0 } }


🎉 总结:

  1. Java 基本数据类型共 8 种,分为整数、浮点数、字符、布尔类型。
  2. 子类化包装类提供了对象形式,方便在泛型和集合中使用。
  3. 顺序记忆口诀(整型从小到大,浮点数,字符,布尔):
    byte < short < int < long < float < double < char < boolean

3.Collections的常用方法

一、排序与搜索

1. sort(List<T> list)
  • 用途:对列表按自然顺序(升序)排序。

  • 要求:列表元素必须实现 Comparable 接口。

  • 示例

    java

    复制

    List<Integer> list = new ArrayList<>(Arrays.asList(3, 1, 4));
    Collections.sort(list); // [1, 3, 4]
2. sort(List<T> list, Comparator<? super T> c)
  • 用途:通过自定义比较器排序。

  • 示例(降序排序):

    java

    复制

    Collections.sort(list, (a, b) -> b - a); // [4, 3, 1]
3. binarySearch(List<? extends Comparable<? super T>> list, T key)
  • 用途:在已排序的列表中二分查找元素。

  • 返回值:找到返回索引,否则返回负数。

  • 示例

    java

    复制

    int index = Collections.binarySearch(list, 3); // 1

二、集合操作

4. reverse(List<?> list)
  • 用途:反转列表元素的顺序。

    java

    复制

    Collections.reverse(list); // [4, 1, 3](原列表被修改)
5. shuffle(List<?> list)
  • 用途:随机打乱列表顺序。

    java

    复制

    Collections.shuffle(list); // 如 [1, 4, 3]

6. swap(List<?> list, int i, int j)

交换 List 中的两个元素。

Collections.swap(list, 0, 2); System.out.println(list); // 根据原顺序改变

7. fill(List<? super T> list, T obj)
  • 用途:用指定对象填充列表的所有元素。

    java

    复制

    Collections.fill(list, 0); // [0, 0, 0]
8. copy(List<? super T> dest, List<? extends T> src)
  • 用途:将源列表内容复制到目标列表(需保证目标列表长度足够)。

    java

    复制

    List<Integer> dest = new ArrayList<>(Arrays.asList(0, 0, 0));
    Collections.copy(dest, list); // dest 变为 [3, 1, 4]
9. replaceAll(List<T> list, T oldVal, T newVal)
  • 用途:替换列表中所有匹配的旧值。

    java

    复制

    Collections.replaceAll(list, 3, 5); // [5, 1, 4]

三、极值与频率

10. max(Collection<? extends T> coll) / min(...)
  • 用途:根据自然顺序查找最大/最小值。

    java

    复制

    int max = Collections.max(list); // 4
11. frequency(Collection<?> c, Object o)
  • 用途:统计元素在集合中的出现次数。

    java

    复制

    int count = Collections.frequency(list, 3); // 1
12. disjoint(Collection<?> c1, Collection<?> c2)
  • 用途:判断两个集合是否没有交集。

    java

    复制

    boolean noCommon = Collections.disjoint(list1, list2); 

四、其他工具方法

13. addAll(Collection<? super T> c, T... elements)
  • 用途:批量添加元素到集合。

    java

    复制

    Collections.addAll(list, 5, 6, 7); // 添加 5,6,7
14. checkedCollection(Collection<E> c, Class<E> type)
  • 用途:创建类型安全的集合(运行时检查元素类型)。

    java

    复制

    List<String> checkedList = Collections.checkedList(new ArrayList<>(), String.class);
    checkedList.add(100); // 抛出 ClassCastException
15. rotate(List<?> list, int distance)
  • 用途:旋转列表元素(如右移2位:[1,2,3,4] → [3,4,1,2])。

    java

    复制

    Collections.rotate(list, 2);

三、代码

public List<List<Integer>> permute(int[] nums){List<List<Integer>> res = new ArrayList<>();int n = nums.length;List<Integer> output = new ArrayList<>();for (int i = 0;i<n;i++){//初始化output列表,用于后续交换output.add(nums[i]);}backtrack(n,output,res,0);return res;}private void backtrack(int n,List<Integer> output,List<List<Integer>> res,int first){if (first==n){res.add(new ArrayList<Integer>(output));//到底后将output列表加入res列表}for (int i =first;i<n;i++){Collections.swap(output,first,i);//从first开始,逐个向后交换;backtrack(n,output,res,first+1);//后一位全排列Collections.swap(output,first,i);//还原这一层的output}}

http://www.dtcms.com/wzjs/104875.html

相关文章:

  • 成都网站建设哪家比较好新泰网站设计
  • 商城网站建设方案北京seo优化费用
  • 专为网站做点击量网站优化网站
  • 做移动网站快速排免费收录网站提交
  • 建设一个招聘网站百度资源分享网页
  • 政府网站html5域名访问网站
  • 做网站沈阳本地seo优化sem推广
  • 网站改版中中国站长之家网站
  • 青岛网站排名百度竞价推广登录入口
  • asp.netmvc 做网站线上引流线下推广方案
  • 承德网站建设步骤产品营销策划
  • 门户网站 方案企业网站的推广方法有哪些
  • 如何做网站首页图seo与sem的区别和联系
  • 网站数据库清空2023最新15件重大新闻
  • 如何快速建立一个网站在百度上怎么发布信息
  • 3D特效做首页的网站简述在线推广网站的方法
  • 东莞想做网站湖南平台网站建设设计
  • 视频网站开发公司网站流量统计软件
  • wordpress需要登录密码百度seo搜索引擎优化方案
  • 网站网络营销外包seo站长工具是什么
  • 两学一做的做题网站是多少产品推广介绍
  • 南通优化网站费用公众号怎么推广
  • 摩洛哥网站后缀谷歌seo搜索引擎
  • 设计品牌网站seo基本步骤
  • 网站建设需要知道什么软件百度普通版下载
  • 信息无障碍 网站建设今日新闻国际头条新闻
  • 境外网站开发专业网站制作网站公司
  • 上海做网站的公司联系方式网课免费平台
  • 如何做网站认证推广seo公司
  • javaee与网站建设google登录