首页 > TAG信息列表 > O1
理解Compare()函数的返回值
返回 1(正数): 第一个元素排在第二个元素后面; 返回 -1 (负数): 第一个元素排在第二个元素前面 返回 0 : 两者相等,不进行交换,也就不排序。但是要根据题目来判断返回什么。如果数组是无序的,不能直接返回0。若保证升序排列,要返回o1-o2,降序则o2-o1。 ·return 0:不交换位置,不排序·reJava的Comparator升序降序的记法
在使用Java自带的排序函数时,往往需要根据自己的需求自定义比较器。以前一直对Comparator的升序降序疑惑。现在记录一下,加深下印象。 先给结论:实现Comparator接口,必须实现下面这个函数: @Override public int compare(CommentVo o1, CommentVo o2) { return o1.getTime().compaLEETCODE-1471-数组中的k个最强值
题目参考:https://leetcode.cn/problems/the-k-strongest-values-in-an-array/ 题解参考:https://leetcode.cn/problems/the-k-strongest-values-in-an-array/solution/8402-7544-by-bobby996/ 我的题解 class Solution { public int[] getStrongest(int[] arr, int k) {Lambda表达式的无参数无返回值的练习和有参数有返回值的练习
Lambda表达式的无参数无返回值的练习 public interface Cook { public abstract void makeFood(); } public class CookTest { public static void main(String[] args) { invoke(()->{ System.out.println("吃饭"); }); } //定义gcc -O0 -O1 -O2 -O3 -Os 编译优化等级
GCC提供了大量优化等级,用来对编译时间、目标文件大小、执行效率三个维度进行不同的取舍和平衡 -O0,最少的优化。(这是默认的编译选项)(可以最大程度上配合产生代码调试信息,可以在任何代码行打断点,特别是死代码处) -O0,最少的优化。(这是默认的编译选项)(可以最大程度上配合产生代码调试信JAVA8新特性之lambda表达式
Lambda表达式的使用 ()->{}; ()里面放的是参数,{}里放的是代码体 -> 左边: lambda形参列表的参数类型可以省略(类型推断) -> 右边: 代码体使用{}包裹,如果代码体只有一句可执行语句,那么大括号可以省略,return也可以省略 Lambda实质上还是一个接口的实例,要求是函数式接口(只有一个方法java 设计模式-策略模式
策略模式:封装的是做一件事不同的执行方式,本质上依旧是多态 package strategy; public interface Comparator<T> { int compare(T o1, T o2); } package strategy; public class DogComparator implements Comparator<Dog>{ @Override public int compa检测死锁两种方式
方式1: public class DeadLockDemo { public static void main(String[] args) { Object o1 = new Object(); Object o2 = new Object(); new Thread(() -> { synchronized (o1) { try { TimJS垃圾回收机制
概念 垃圾回收机制(Garbage Collection) 简称 GC JS中内存的分配和回收都是自动完成的,内存在不使用的时候会被垃圾回收器自动回收。 正因为垃圾回收器的存在,许多人认为JS不用太关心内存管理的问题 但如果不了解JS的内存管理机制,我们同样非常容易成内存泄漏(内存无法被回收)的情况 不Java中,关于Comparator三点说明
我们在使用Arrays.sort(xx, new Comparator<T>() {});和Collections.sort(xx, new Comparator<T>() {})时,明确三点即可: int compare(T o1, T o2) 是“比较o1和o2的大小”。返回“负数”,意味着“o1比o2小”;返回“零”,意味着“o1等于o2”;返回“正数”,意味着“o1大于o2”。 默认(原始第四章 面向对象(上)3-类的结构之二:-3.5 java的值传递机制
1.针对于方法内变量的赋值举例: System.out.println("*************基本数据类型******************"); int m = 10; int n = m; n = 20; System.out.println("m = " + m + ",n = " + n); System.out.println("*************引用数据类型******************"LeetCode——668. 乘法表中第k小的数(Java)
题目描述 题干: 几乎每一个人都用 乘法表。但是你能在乘法表中快速找到第k小的数字吗? 给定高度m 、宽度n 的一张 m * n的乘法表,以及正整数k,你需要返回表中第k 小的数字。 例 1: 输入: m = 3, n = 3, k = 5 输出: 3 解释: 乘法表: 1 2 3 2 4 6 3 6 9 第5小的数字是C#中重写Equals和GetHashCode方法的案例
C#中重写Equals和GetHashCode方法的一些案例: class keyClass { public string Name { get; set; } public string Code { get; set; } public override bool Equals(object obj) { if (null == obj) return false; if (obj.GetType()【人工智能导论:模型与算法】MOOC 8.3 误差后向传播(BP) 例题 【第三版】
第一版:完全按照MOOC课件编程实现: 【人工智能导论:模型与算法】MOOC 8.3 误差后向传播(BP) 例题 编程验证 - HBU_DAVID - 博客园 (cnblogs.com) 第二版:用PyTorch实现,发现求得梯度与MOOC课件不一致。 怀疑程序有Bug,感觉肯能是对 l.backward()有理解不到位的地方: 【人工智能导论:模型与算有条件的随机数
问题:200个随机数,-2.30到-0.93之间,平均值为-2 函数公式解决:(实际平均为-2做不到,只能做到无限接近-2) =RANDBETWEEN(-230,MAX(-220,-COLUMN(O1)*20+207))/100华为手撕代码:数组转最大整数
题目描述: 给定一个正整数数组,返回该数组能够拼接成的最大整数,不可拆分数组中的数字 例如: 数组[3,30,34,5,9]能够组成的最大整数为9534330 数组[10,101011,34,5,9]能够组成的最大整数为953410101110 解析: ☆要点一:要实现一个字符串比较器 ☆要点二:要实现递归比较,以应对3vs30、10vs1给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。
给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。 示例 1: 输入: [10,2]输出: 210示例 2: 输入: [3,30,34,5,9]输出: 9534330说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。 1 // public static void main(String[] args) throws IOException合并多个List,合并List中的属性值
如果要对List中的对象进行唯一值属性去重,属性求和:1.key唯一 List<DemoDto> result = list.stream().collect(Collectors.toMap(DemoDto :: getId, a->a, (o1,o2)->{ o1.setWhCode(o1.getWhCode()+o2.getWhCode()); o1.setAreaCode(o1.getAreaCodPython 代理模式
1.基本实现 from typing import Any class Origin: o: str = 'o1' def o1(self): return self.o def o2(self): return 'o2' class Proxy: self_attrs: list = None origin_obj = None def __init__(self, o)PHP如何实现类似java中hashset,hashmap
php常用的数据类型 数组是只能以整型或字符串类型作为key,value可以是任意类型的数据,但是如何在php里面使用类似java中的hashset、hashmap结构或python中的字典dict,set结构,来存储以对象等其他非字符串整型为key的数据;这就要用到php的扩展spl,里面有个SplObjectStorage,它可以Java List<Map> 排序
Collections.sort(sourceMap, new Comparator<Map<String, Object>>() { @Override public int compare(Map<String, Object> o1, Map<String, Object> o2) { return o1.get("fxdj").toString().406. 根据身高重建队列
贪心 import java.util.Arrays; import java.util.Comparator; import java.util.LinkedList; class Solution { public int[][] reconstructQueue(int[][] people) { /** * 根据比较器对身高进行降序排序,如果身高相同,根据第二个索引升序排序 */在二叉树中找到两个节点的最近公共祖先
在二叉树中找到两个节点的最近公共祖先 题目:在二叉树中找到两个节点的最近公共祖先 《程序员代码面试指南》第48题 P155 难度:原问题 士★☆☆☆ 进阶问题 尉★★☆☆ 原问题解法,后序遍历二叉树,假设遍历到的当前节点为cur。因为是后序遍历,所以先处理cur的两棵子树。假设处理cur左子寻找祖先节点
import java.util.HashMap; import java.util.HashSet; public class Lowesrcommonanstor { public static class Node { public int value; public Node left; public Node right; public Node(int data) { this.value = data; } } //第一种方法 publLeetCode 1996. 游戏中弱角色的数量
1996. 游戏中弱角色的数量 Solution 思路:见过类似的,就知道是排序。需要满足都是小于,才算是一个弱角色。因此可以按照攻击降序排序,那么就保证了攻击是满足了,不过要实现防御也要小于,就需要攻击相同时,按照防御升序排列,如果出现当前防御比之前角色小的,那么一定是攻击值不一样且之前的