思路class Solution {public: void rotate(vector<vector<int>>& matrix) { int n=matrix.size(); for(int i=0;i<n;i++){
思路对比46题,这里有重复数字,[1,2,2]中[1,2,2]和[1,2,2]是相同的,可以将数组排序,然后遇到相同数字时,判断上一个数字是否已经用过,如果用过了,那么就跳过这次循环(相当于去重)。class Solution {public: vector<vector<int&
class Solution {public: bool flag[10]; vector<vector<int>> ans; vector<int>path; void dfs(vector<int>&nums,int
思路nums中有n个数,若nums中依次为1-n,则缺失的数为n+1,若其中有重复或者负数,那么这个缺失的数必在1-n中。则可以用nums这个数组作为哈希地址,由于存在重复数字,我们可以每次取nums[i]的绝对值,然后将其对应的nums的角标位置变成负数,最后遍历nums,找到第一个正数,其下标则
思路由于这里每个元素不能重复,所以每次dfs()时要+1,并且为了去重,可以先将元素排序class Solution { public: vector<vector<int>> ans; vector<int>path; vector<
思路如下:1、遍历数组中的每一个数字。2、递归枚举每一个数字可以选多少次,递归过程中维护一个target变量。如果当前数字小于等于target,我们就将其加入我们的路径数组path中,相应的target减去当前数字的值。也就是说,每选一个分支,就减去所选分支的值。3、当target == 0时,表示