当前位置: 首页> 汽车> 维修 > 商业网站建设常识_网页升级访问中新每天正常更新中在线观看_全部列表支持安卓浏览器软件下载_如何线上推广引流

商业网站建设常识_网页升级访问中新每天正常更新中在线观看_全部列表支持安卓浏览器软件下载_如何线上推广引流

时间:2025/7/9 5:02:34来源:https://blog.csdn.net/qq_41041630/article/details/145055147 浏览次数: 0次
商业网站建设常识_网页升级访问中新每天正常更新中在线观看_全部列表支持安卓浏览器软件下载_如何线上推广引流

题目:
在这里插入图片描述
在这里插入图片描述
题解:
在这里插入图片描述

代码示例:

package com.zy.leetcode.LeetCode_225;import com.zy.queue_code.demo04.ArrayQueue3;/*** @Author: zy* @Date: 2025-01-10-10:26* @Description:*/
public class LeetCode_225 {ArrayQueue3<Integer> queue = new ArrayQueue3<>(100);private int size = 0;public void push(int x) {queue.offer(x);for (int i = 0; i < size; i++) {queue.offer(queue.poll());}size++;}public int pop() {size--;return queue.poll();}public int top() {return queue.peek();}public boolean empty() {return size == 0;}public static void main(String[] args) {LeetCode_225 leetCode_225 = new LeetCode_225();leetCode_225.push(1);leetCode_225.push(2);System.out.println(leetCode_225.top()); // 2System.out.println(leetCode_225.pop()); // 2System.out.println(leetCode_225.empty()); // falseleetCode_225.push(3);System.out.println(leetCode_225.top()); // 3System.out.println(leetCode_225.pop()); // 3System.out.println(leetCode_225.empty()); // false}
}
package com.zy.queue_code.demo04;import com.zy.queue_code.demo01.Queue;
import org.jetbrains.annotations.NotNull;import java.util.Iterator;
import java.util.NoSuchElementException;/*** @Author: zy* @Date: 2025-01-07-12:23* @Description: 求模运算:* - 如果除数是2的n次方* - 那么被除数的后n 位即为余数(模)* 求被除数的后n 位方法:与 2^n-1 按位与*/
public class ArrayQueue3<E> implements Queue<E>, Iterable<E> {private final E[] array;public int head = 0;public int tail = 0;/*** 如果除数是2的n次方** // 求离C最近,比C大的 2^n(方法2)* C-=1;* c |=c>>1;* c | =c>>2;* c | =c>>4;* с | =с>>8;* с | =с>>16;* C+=1;* System.out.println(c);* I** @param capacity*/public ArrayQueue3(int capacity) {//1.抛异常//        int num = capacity & (capacity - 1);//        if (num != 0) {//            throw new IllegalArgumentException("capacity must be a power of 2");//        }//2.将传入的数据改成一个接近2^n 的数字int n = (int) (Math.log(capacity - 1) / Math.log(2)) + 1;/*** 1     2^0* 10    2^1* 100   2^2* 1000  2^3* 10000 2^4** 左移*/int capacity2 = 1 << n;//3. 创建一个接近2^n 的数组array = (E[]) new Object[capacity2];}@Overridepublic boolean offer(E value) {//判断是否已经满了?if (isFull()) {return false;}//array[(int) (Integer.toUnsignedLong(tail) % array.length)] = value;array[tail & (array.length - 1)] = value;tail++;return true;}@Overridepublic E poll() {if (isEmpty()) {return null;}//        E value = array[(int) (Integer.toUnsignedLong(head) % array.length)];E value = array[head & (array.length - 1)];head++;return value;}@Overridepublic E peek() {if (isEmpty()) {return null;}return array[((head) & (array.length - 1))];}@Overridepublic boolean isEmpty() {return head == tail;}@Overridepublic boolean isFull() {//return (tail + 1) % array.length == head;//tail -array.length == head//return (tail - head + array.length) % array.length == 0;return tail - array.length == head;}@NotNull@Overridepublic Iterator<E> iterator() {return new Iterator<>() {int p = head;@Overridepublic boolean hasNext() {return p != tail;}@Overridepublic E next() {if (!hasNext()) {throw new NoSuchElementException();}E value = array[p & (array.length - 1)];//p = (p + 1) % array.length;p++;return value;}};}
}
关键字:商业网站建设常识_网页升级访问中新每天正常更新中在线观看_全部列表支持安卓浏览器软件下载_如何线上推广引流

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: