thread
按序打印(来源力扣):题目描述:给你一个类:
12345public class Foo { public void first() { print("first"); } public void second() { print("second"); } public void third() { print("third"); }}
三个不同的线程 A、B、C 将会共用一个 Foo 实例。
线程 A 将会调用 first() 方法线程 B 将会调用 second() 方法线程 C 将会调用 third() 方法请设计修改程序,以确保 second() 方法在 first() 方法之后被执行,third() 方法在 second() 方法之后被执行。
提示:
尽管输入中的数字似乎暗示了顺序,但是我们并不保证线程在操作系统中的调度顺序。你看到的输入格式主要是为了确保测试的全面性。
示例 1:
输入:nums = [1,2,3]输出 ...
Game
Nim游戏:(来源力扣)题目描述:
你和你的朋友,两个人一起玩 Nim 游戏:
桌子上有一堆石头。你们轮流进行自己的回合, 你作为先手 。每一回合,轮到的人拿掉 1 - 3 块石头。拿掉最后一块石头的人就是获胜者。假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为 n 的情况下赢得游戏。如果可以赢,返回 true;否则,返回 false 。
示例 1:
输入:n = 4输出:false解释:以下是可能的结果:
移除1颗石头。你的朋友移走了3块石头,包括最后一块。你的朋友赢了。
移除2个石子。你的朋友移走2块石头,包括最后一块。你的朋友赢了。
3.你移走3颗石子。你的朋友移走了最后一块石头。你的朋友赢了。在所有结果中,你的朋友是赢家。示例 2:
输入:n = 1输出:true示例 3:
输入:n = 2输出:true
提示:
1 <= n <= 231 - 1
个人对本题的理解:
对于先手而言,如果剩余的石头数目在1-3,则先手必胜;如果剩余石头数目为0,先手必败。
假设先手拿掉n个石 ...
jump
跳跃游戏给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个下标。
eg:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。输入:nums = [3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。
123456789class Solution { public boolean canJump(int[] nums) { int farthermost = 0; for (int i = 0; i <= farthermost && i < nums.length; i++) { farthermost = Math.max(farthermost, i + num ...
water
盛水最多的容器:给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。
说明:你不能倾斜容器
1234567891011121314151617class Solution { public int maxArea(int[] height) { int i = 0; int j = height.length - 1; int maxArea = 0; while(i < j){ int area = Math.min(height[i] , height[j]) * (j - i); if(height[i] > height[j]){ j--; }else{ ...
revolve
题目描述:
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。
输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]]
输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]输出:[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]
n == matrix.length == matrix[i].length1 <= n <= 20-1000 <= matrix[i][j] <= 1000
12345678910111213141516171819class Solution { public void rotate(int[][] matrix) { int n = mat ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment